关于数组越界问题:char s[5] = {"ABCDE"}; char s[5] = {’A’,’B’,’C’,’D’,’E’};两种情况是否都越界,情况有什么不同.末位是否为\0,怎样确保其为\0?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 16:04:47

关于数组越界问题:char s[5] = {"ABCDE"}; char s[5] = {’A’,’B’,’C’,’D’,’E’};两种情况是否都越界,情况有什么不同.末位是否为\0,怎样确保其为\0?
关于数组越界问题:char s[5] = {"ABCDE"}; char s[5] = {’A’,’B’,’C’,’D’,’E’};
两种情况是否都越界,情况有什么不同.末位是否为\0,怎样确保其为\0?

关于数组越界问题:char s[5] = {"ABCDE"}; char s[5] = {’A’,’B’,’C’,’D’,’E’};两种情况是否都越界,情况有什么不同.末位是否为\0,怎样确保其为\0?
追问为什么呢……#include
main(){
char s[5] = {'a','b','c','d','e'};
puts(s);
}
最后一位也是乱码啊
你最后又用了一个puts(s);
如果你输入的字符串长小于5,就没事,要是大于等于5,就又越界了.
因为puts()函数会在你输入的字符串后自动加一个“\0”作为结束符