首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

为什么在VC中 for(int i = 0; i < 10; i++) 会报错?解决方法

2012-02-19 
为什么在VC中 for(int i 0 i 10 i++) 会报错?vc6.0win32consoleapplicationfor(inti0i 10i++)这

为什么在VC中 for(int i = 0; i < 10; i++) 会报错?
vc6.0   win32   console   application

for(int   i   =   0;   i <   10;   i++)   这么写会报错

error   C2143:   syntax   error   :   missing   '; '   before   'type '

比如:

#include <stdio.h>
#include <stdlib.h>

int   main()
{
for(   int   a   =   1;   a   <   10;   a++)
printf( "%d   ",   a);
}


但是如果改成
int   main()
{
int   a;
for(   a   =   1;   a   <   10;   a++)
printf( "%d   ",   a);
}
就可以编译通过,不知道是什么原因,是设置的问题?

[解决办法]

不会吧 - -
[解决办法]
我的vc6可以运行
[解决办法]
我估计你把这段源程序存为了.c形式,比如test.c。在C中变量是要先定义再使用的,所以你这样for( int a = 1; a < 10; a++)是不行的。


如果你存为的是.cpp文件这段程序就没问题了。。
[解决办法]
检查一下源文件的后缀名,for( int a = 1; a < 10; a++)+)
在c++是允许的
[解决办法]
c语言不允许这样使用的,要先定义,养成良好的习惯,有助于代码的移植,有些系统对变量的定义要比windows严格得多,估计在windows下习惯了这样的话,会很不舒服。
[解决办法]
原因上面的都说了。我再补充一点:第二种风格其实要更好一些
[解决办法]
#include <stdio.h>
#include <stdlib.h>

int main()
{
for( int a = 1; a < 10; a++)
printf( "%d ", a);
}


但是如果改成
int main()
{
int a;
for( a = 1; a < 10; a++)
printf( "%d ", a);
}
就可以编译通过,不知道是什么原因,是设置的问题?
-----------------------------------------------
不是设置的问题,是编译器支持不支持的问题。我在VC中就这样写就没问题,如bargio_susie(强制结帖) 所说,你最好检查一下你后缀名是.cpp 还是 .c
C99标准中规定了可以这样写for(int a=1; a <10; a++),但是真正支持这个标准的编译器并不多,你在TC下这样写就不行,因为它不支持这个标准。

[解决办法]
VC 中还是不要写 for( int a = 1; a < 10; a++) 了吧,
它和预期的有点差别...

直接写成
int a;
for( a = 1; a < 10; a++)
[解决办法]
嗯,同意虫子~

热点排行