回覆列表
  • 1 # 使用者6354188383803

    #include

    #include

    int main()

    {

    int m;

    void copy(char *s1,char *s2,int m);

    char s1[20];

    char s2[20];

    //n=sizeof(s1)/sizeof(int);

    //n=sizeof(s1)會返回20,但這明顯不是你需要的

    gets(s1);

    printf("輸入字串為:%s ",s1);

    //這裡用strlen(s1)可以得到實際字串長度

    scanf("%d",&m);

    printf("m的值為:%d",m);

    copy(s1,s2,m);

    printf("result:%s\n",s2);

    return 0;

    }

    void copy(char *p1,char *p2,int m)

    {

    int i=m;

    while(*(p1+i-1))

    {//沒有必要糾結於n,直接透過字串結束符判斷就可以了

    *(p2+i-m)=*(p1+i-1);

    }

    }

    這樣和你的程式更接近一些吧

  • 中秋節和大豐收的關聯?
  • 夏至未至哪一集陸之昂去日本?