对下面程序进行分析
void test2()
{
char string[10], str1[10];
int i;
for(i=0; i<10; i++)
{
str1[i] = ‘a’; (没有结束符)
}
strcpy( string, str1 ); (在赋值的时候遇到‘\0’结束,但是没有,就会传入别的值,这个值具有不确定性)
}
修改:
void test2()
{
char string[10], str1[10];
int i;
for(i=0; i<9; i++)
{
str1[i] = ‘a’+i; //把 abcdefghi 赋值给字符数组
}
str[i]=’\0’;//加上结束符
strcpy( string, str1 );
}