C-未编译变量之前的While循环
我试图在C中的main方法中创建一个循环,但它没有编译 代码如下:C-未编译变量之前的While循环,c,variables,loops,while-loop,declaration,C,Variables,Loops,While Loop,Declaration,我试图在C中的main方法中创建一个循环,但它没有编译 代码如下: int i = 1; while (i < 10) { i++; } int x; int a; int b; int sum; sum = a + b; 此错误出现在循环后声明的所有变量中 但是,如果我在这些变量声明之后编写循环,它就可以正常工作 那么为什么我不能在变量声明之前写一个循环呢?这是一个过时的Microsoft Vis
int i = 1;
while (i < 10)
{
i++;
}
int x;
int a;
int b;
int sum;
sum = a + b;
此错误出现在循环后声明的所有变量中
但是,如果我在这些变量声明之后编写循环,它就可以正常工作
那么为什么我不能在变量声明之前写一个循环呢?这是一个过时的Microsoft Visual C编译器的典型响应,它不支持最新的C标准。看来他们被时间卡住了
只需在循环之前移动变量,一切都应该正常。这是过时的Microsoft Visual C编译器的典型响应,它不支持最新的C标准。看来他们被时间卡住了
只需将变量移到循环之前,所有变量都应该是正确的。在C89中,所有变量都应该在代码块的顶部声明,即直接在
{
,它们不必在函数的顶部声明。在C99及更高版本中,它们可以在任何地方声明。如果函数中有一段代码需要使用一组变量,而函数的其余部分不需要,则可以将该段代码包装在块中{…
}`在C89中,所有变量都应在代码块顶部声明,即直接在{
,它们不必在函数的顶部声明。在C99及更高版本中,它们可以在任何地方声明。如果函数中有一段代码需要使用一组变量,而函数的其余部分不需要,则可以将该段代码包装在块中{…
}`.这是1999年左右在C中引入的更改之一。您似乎正在使用一个以前定义的以C为目标的实现。哪个编译器?(Visual Studio??)@乌拉夫:如果你问得很好的话,那就没用了…gcc-std=c89-迂腐的错误…
@Himanshu该代码在pre中无效-C99@Himanshu:联机编译器可能正在使用C99,这是1999年左右C中引入的更改之一。您似乎正在使用一个之前定义的以C为目标的实现。哪个编译器?(Visual Studio??)@乌拉夫:如果你问得很好的话,那就没用了…gcc-std=c89-迂腐的错误…
@Himanshu该代码在pre中无效-C99@Himanshu:联机编译器可能正在使用C99。非常感谢,它正在工作。非常感谢,它正在工作。
Error 3 error C2143: syntax error : missing ';' before 'type'