码迷,mamicode.com
首页 > 编程语言 > 详细

为什么for(int i=0;i<9;i++) 在c语言中是错误的?

时间:2015-11-04 21:32:24      阅读:827      评论:0      收藏:0      [点我收藏+]

标签:

显示表示,i 变量不可以在for中定义,必须在外面定义,这是为什么?

因为C99标准以前的C标准是不支持临时变量在for循环中定义的。

C99标准就支持这样写。但是目前有些编译器并不怎么愿意支持C99标准,或者默认以C89模式进行编译执行。

如果你用的是Visual C++6.0的话,那没办法,那货早停止更新了,不可能支持C99了。

如果用的是gcc 的编译器(v3.0以上)的话,默认按C89编译。手动编译时加上-std=c99就行了能按C99标准编译,上面那样写就没问题了。比如:

gcc -std=c99 tset.c -o test

如果用的是使用gcc编译器的CodeBlocks的话,倒是知道怎么让它默认自动以C99标准编译:

settings -> compiler and debugger...

打开编译调试设置面板,在Global compiler settings项里面的Other options里添加-std=c99就行了。

技术分享

其他使用gcc的IDE应该都能设置这个的。

不过建议还是按C89的写法写吧,很多地方写成C99标准的都会出错,谁叫他们不买C99的帐呢。

技术分享

修改之后:

技术分享

 



为什么for(int i=0;i<9;i++) 在c语言中是错误的?

标签:

原文地址:http://www.cnblogs.com/xuyinghui/p/4937245.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!