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不会。
posted on 2017-06-26 16:15  王小东大将军  阅读(205)  评论(0)    收藏  举报