对于下面程序段的差错:
void test3(char* str1)
{
char string[10];
if( strlen( str1 ) <= 10 )
{
strcpy( string, str1 );
}
}
if(strlen(str1) <= 10)应改为if(strlen(str1) < 10),因为strlen的结果未统计’\0’所占用的1个字节。
答案一目了然。我却看到了不同的东西:
字符数组string是在函数内部定义的,存储在栈中,函数结束调用的时候它就香消玉殒了!那么将字符串复制到string里,有意义么。。。?