3

问答题 3 /290

指出下面代码有什么问题?
void test3(char* str1) 
{ 
 if(str1 == NULL){
        return ;
 }
 char string[10]; 
 if( strlen( str1 ) <= 10 ) 
 { 
 strcpy( string, str1 ); 
 } 
} 

参考答案

if(strlen(str1) <= 10)应改为if(strlen(str1) < 10),因为strlen的结果未统计’\0’所占用的1个字节。