这是我的代码。
struct ar {
char array[10];
}b;
void func()
{
char array[10];
scanf("%s",b.array);
printf("%s\n", b.array);
scanf("%s",array);
printf("%s\n", array);
}
int main(int argc, char **argv)
{
func();
}
当我从两个数组的命令行给出比数组大小更长的字符串时,我面临堆栈粉碎检测错误,在main中定义的char数组但是数组内部结构没有给出错误和打印正确的字符串。
可能是什么原因?
答案 0 :(得分:1)