C语言 30题为什么A在电脑上验证出来是错的?

2025-03-11 09:13:42
推荐回答(2个)
回答1:

A错在
"string" 有7个字节
而定义char [6]只有6个字节空间
在编译的时候, C对这个限制不高
顶多报一个警告
不会报错误的。
这种越界, 在C中是要靠自己把握的。
就像
char s[2]= "asdfasdfasdf";
这个在编译的时候 一样不会报错, 但很明显是不对的。

回答2:

错的是A ;
A的定义的数组长度 不足、
字符串是 string 6个加结束符 是7个字符。。