关于字符数组的一个问题
c吧
全部回复
仅看楼主
level 2
岫不凉 楼主
各位佬们,我大一最近刚学完C+的数组,遇到一个问题。如图1,字符数组不指定数组大小,但后面初始化时没加\0作结束标志,按书上所说。输出时字符串后面应该会跟有其它字符直到遇到\0。但是,如图2,当我将数组的初始化放在main外面时,却可以正常输出"china",这是为什么呢?
此外我在图2程序下试了一下sizeof,结果是5,证明系统没有自动加\0?
另外,如图3,我上面用的是VS,但我的一个同学使用Dev编时,放在主函数里也能正常输出"china",这是为什么呢?不会是因为编译器不同,或者仅仅因为运气好正好碰上10吧?
希望大佬们有时间能解答一下,万分感谢!
2024年11月09日 03点11分 1
level 3
你读一下s[5]的值就知道了
2024年11月15日 12点11分 4
吧务
level 10
字符串以0结尾,你的没有结尾,肯定出问题
2024年11月23日 02点11分 5
1