关于字符串末尾的\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没有被复制呢