关于字符串末尾的\0问题
程序代码:#include <stdio.h>
cpystr(char *pss,char *pds) //后面是目标字符串
{
while((*pds=*pss)!='\0')
{
pds++;
pss++;
}
//也可以 while((*pds++==*pds++))
}
main()
{
char *pa="CHINA",b[10],*pb;
pb=b;
cpystr(pa,pb);
printf("string a=%s\nstring b=%s\n",pa,pb); //我的一个疑问是为什么可以这样 难道b后面不要添加'\0'么
printf("%c\n",b[5]);
}我的问题是:为什么不要对b最后一位添加\0结束标志呢?cpystr这个函数复制的时候只是把a中的数据复制到b中,可是结束标志\0没有被复制呢








