void test3(char * str1) {
if(str1==NULL) {
return;
}
char string[10];
if(strlen(str1)<=10) {
strcpy(string,str1);
}
}
分析:因为strlen的结果未统计'\0'所占用的1个字节。只有把程序中的<=改为<,这样可以保证str1最末尾的字符是\0,因为strcpy函数是从源地址开始拷贝,直到遇到\0为止。
注意sizeof会统计最后的\0,而strlen不会。
拥抱明天!
不给自己做枷锁去限制自己。
别让时代的悲哀,成为你人生的悲哀。

浙公网安备 33010602011771号