你好,我尝试在 dev-c++ 中运行我的 c 代码并得到这个: [错误] 'for' 循环初始声明只允许在 C99 或 C11 模式下

问题描述

#include

int main() { printf("你好\n");

for(int i=0; i<6; i++){
    for(int j=0; j<30; j++)
    printf("%c",(char)179);

printf("\n");
}
printf("\n"); 

printf("what\ up \n ");

for(int i=0; i<6; i++){
    for(int j=0; j<30; j++)
    printf("%c",(char)179); 

printf("\n");
}
printf("\n"); 

printf("你喜欢编程吗\n");

for(int i=0; i<6; i++){
    for(int j=0; j<30; j++)
    printf("%c",(char)179); 

printf("\n");
}
printf("\n"); 

返回0; }

解决方法

如果我没记错的话,循环计数器的初始声明需要在循环之外,即:

int i;
for (i = 0; i < 5; i++) {
//do stuff here
}

正如您的错误消息所暗示的那样,循环内初始声明只能在 C99 或 C11 标准(即 1999 年和 2011 年发布的 C 标准)中使用。