为什么在for语句中不能定义变量?

teamos 2011-10-27 10:13:41

int i;
for( i=0;i<10;i++)
printf("hello...\n");


是OK的


但是
for( int i=0;i<10;i++)
printf("hello...\n");
就不可以,编译器报错
为什么?
...全文
1755 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
cfvmario 2011-10-31
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 teamos 的回复:]

我用了C-free,采用Mingw编译器,同样也会报错。必须开启C99模式

所以,建议大家在使用的时候,不要这么用。

另外,我搞C编程,不会修改后缀为Cpp的
[/Quote]
这其实是一个悲剧。c99标准还不够普及啊。
我的项目也是C的,好多c99特性没法用真是个悲剧。。看着一堆*传来传去的都不爽,有引用多好啊,浪费好多指针的解引用开销。。
赵4老师 2011-10-31
  • 打赏
  • 举报
回复
文件后缀问题
绿野耕夫 2011-10-31
  • 打赏
  • 举报
回复

这个确切的讲应该属于C89和C99标准之间的差别吧
C89是要求所有变量定义都在一个函数的开始
  • 打赏
  • 举报
回复
编译器的的问题!
phoeni_xin 2011-10-31
  • 打赏
  • 举报
回复
看看。
txzsp 2011-10-31
  • 打赏
  • 举报
回复
编译器问题
失散糖 2011-10-31
  • 打赏
  • 举报
回复
VC6支持
for( int i=0;i<10;i++)
printf("hello...\n");


但不支持
for( int i=0;i<10;i++)
printf("hello...\n");

for( int i=0;i<10;i++)
printf("hello...\n");


貌似说是变量重复定义。。。。恶心啊,在2010下就没这问题。。。
kazoroth 2011-10-31
  • 打赏
  • 举报
回复
c99 -o filename filename.c
或cc -o filename filename.c -std=c99
goldbeef 2011-10-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 fyzqzpd 的回复:]

C/C++ code
//这样在vc6.0中是不可以的
for( int i=0;i<10;i++)
printf("hello...\n");

//如果这行没有是可以的
for( int i=0;i<10;i++)
printf("hello...\n");
[/Quote]在VC6.0都可以啊,关键看你的源文件是以.c 还是.cpp结尾
fangluerxu 2011-10-30
  • 打赏
  • 举报
回复
GCC编译的话会很清湖得提示你这是一个error,C99以前的标准不支持。
ProgrammingRing 2011-10-29
  • 打赏
  • 举报
回复
vc6后缀改为cpp可以这样。。
tianshilei1992 2011-10-29
  • 打赏
  • 举报
回复
VS2010可以~我在VC6.0也报错~
pengsheng1988 2011-10-29
  • 打赏
  • 举报
回复
如果用的是vc6的话可以设置的,把它设置成c++编译就可以了
whydzhao 2011-10-29
  • 打赏
  • 举报
回复
C中定义变量是在函数开头
波杰克男 2011-10-29
  • 打赏
  • 举报
回复
可以啊
proorck6 2011-10-29
  • 打赏
  • 举报
回复
VC6中是不支持的,因为VC6用到的一些库是老函数,所以它没升级
新版的编译器肯定支持
不过旧版的语法也不错,用习惯就好了
我比较喜欢VC6,虽然它的语法比较陈旧,但确实好用。
suixinpiaodang 2011-10-29
  • 打赏
  • 举报
回复
说实话,C-Free编译器有点笨,建议你换个编译器。。gcc不错,code blocks 也还可以。。。
suixinpiaodang 2011-10-29
  • 打赏
  • 举报
回复
支持c99标准的编译器可用第二种定义方式,如果不支持C99标准,编译器就会报错。
霸气傲中原 2011-10-29
  • 打赏
  • 举报
回复
C不可以 C++可以
teamos 2011-10-29
  • 打赏
  • 举报
回复
我用了C-free,采用Mingw编译器,同样也会报错。必须开启C99模式

所以,建议大家在使用的时候,不要这么用。


另外,我搞C编程,不会修改后缀为Cpp的
加载更多回复(23)

69,382

社区成员

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

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