在C语言中 for(int i=0; i<5; i++)的声明为什么会报错呢 而int i; for(i=0; i<5; i++)就不会报错!

woshayawo 2010-09-13 09:17:25
如题,请高手不吝赐教!
...全文
1805 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
libinfei8848 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lthyxy 的回复:]
int i; for(i=0; i<5; i++)//这是C语言标准。
而C++规定可以在任何位置声明变量,只要你在使用之前定义就可以了。C语言不行。
[/Quote]

+++1
smellmine 2010-09-13
  • 打赏
  • 举报
回复
C++可以这样,c就不行了,声明要写在算式啊,表达式啊之类的前面
我用过,下面这种方式都会有问题:
int i = 0;
i++;
int j;

要改为下面:
int j;
int i = 0;
i++;
  • 打赏
  • 举报
回复
gcc c89不支持这个。。。其他。。不知道。。
abc6481 2010-09-13
  • 打赏
  • 举报
回复
这个是C语言标准的东西,C89/C99,要看你具体的编译器,编译器不同使用的是不同的标准吧~~
qrp_pig 2010-09-13
  • 打赏
  • 举报
回复
C语言不支持该语法
C语言只支持在程序或函数前段声明变量,不能在程序中声明变量
这和编译器设计有关
dsh 2010-09-13
  • 打赏
  • 举报
回复
这是C++的写法,C语言不支持
wyfwx 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lthyxy 的回复:]
int i; for(i=0; i<5; i++)//这是C语言标准。
而C++规定可以在任何位置声明变量,只要你在使用之前定义就可以了。C语言不行。
[/Quote]

正解。 我来晚了,希望还能接到。
garfieldking 2010-09-13
  • 打赏
  • 举报
回复
我还是习惯规规矩矩按C标准来
搁哪儿都能用
dinghing 2010-09-13
  • 打赏
  • 举报
回复
c语言标准。
zecard_fu 2010-09-13
  • 打赏
  • 举报
回复
如果是用的gcc 加上参数 -std=c99
iiset 2010-09-13
  • 打赏
  • 举报
回复
汗,还真没注意过
李迟 2010-09-13
  • 打赏
  • 举报
回复
c99支持第一种写法,如果使用gcc,可以指定c99模式。
jingWithme 2010-09-13
  • 打赏
  • 举报
回复
c语言中是不允许在for循环中定义变量的,这和c++不一样的。
如果你使用devc编写c代码的话,这样写编译时就会告诉你使用了c99的模式。
liutengfeigo 2010-09-13
  • 打赏
  • 举报
回复
C语言必须在最前面就声明全部要使用的变量。
bluejays 2010-09-13
  • 打赏
  • 举报
回复
这是c++的写法,c标准不支持。
不过有些c编译器是支持的,比如gcc。也有很多c编译器不支持
liutengfeigo 2010-09-13
  • 打赏
  • 举报
回复
int i; for(i=0; i<5; i++)//这是C语言标准。
而C++规定可以在任何位置声明变量,只要你在使用之前定义就可以了。C语言不行。
willabc 2010-09-13
  • 打赏
  • 举报
回复
等待高手!

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧