这是复制字符串的程序。超级简单。
string a is:I am a boy.
string b is:I am a boy.
烫烫烫烫烫烫I am a boy.#include<stdio.h>void main()
{char a[]="I am a boy.",b[20];
int i;
for(i=0;*(a+i)!='\0';i++)
*(b+i)=*(a+i);
*(b+i)='\n';
printf("string a is:%s\n",a);
printf("string b is:");
for(i=0;b[i]!='\0';i++)
   printf("%c",b[i]);
   printf("\n");
}

解决方案 »

  1.   

    #include<stdio.h>void main()
    {char a[]="I am a boy.",b[20];
    int i;
    for(i=0;*(a+i)!='\0';i++)
    *(b+i)=*(a+i);
    *(b+i)='\0';                  //*(b+i)='\n';原来这句错了
    printf("string a is:%s\n",a);
    printf("string b is:");
    for(i=0;b[i]!='\0';i++)
       printf("%c",b[i]);
       printf("\n");
    }
      

  2.   

    为什么很多喜欢用*(b+i)这种格式呢,不如b[i]来的清晰,虽然效率差一点
      

  3.   

    可以改这句,也可以改第二个for循环为
    for(i=0;b[i]!='\n';i++)
    只要上下一致即可,作为判断结尾标志;
      

  4.   

    字符串是以\0结束符的。把 *(b+i)='\n'改为:*(b+i) = '\0' ;