黑马程序员技术交流社区
标题:
定义数组的问题
[打印本页]
作者:
完美世界
时间:
2014-6-24 08:44
标题:
定义数组的问题
#include <stdio.h>
int main()
{
int s[0];
s[2]=12;
printf("数组s的大小是%d\n",sizeof(s));
printf("s[2]=%d\n",s[2]);
}
输出结果是:
数组s的大小是0
s[2]=12
这段代码编译和运行都没有问题,但其中出现的问题我想大家都看出来了吧,有没有人知道缘由的?
作者:
魇影
时间:
2014-6-24 13:04
因为C语言的弱语法。。。在C语言中一般是不会检查数组的下标范围的,这样的好处是给了程序员很大的灵活性,更宜于写出高效的代码,当然这样也有很大风险,C语言强调逻辑大于强调语法,若是JAVA就会报错
作者:
完美世界
时间:
2014-6-24 14:27
魇影 发表于 2014-6-24 13:04
因为C语言的弱语法。。。在C语言中一般是不会检查数组的下标范围的,这样的好处是给了程序员很大的灵活性, ...
嗯,哦了。
谢啦!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2