【发布时间】:2013-10-28 23:55:39
【问题描述】:
在我的代码中,我无法在 for 循环初始化部分初始化变量。 当我写这段代码时:
long unsigned int arr[3][3];
char str[50];
for(;gets(str);)
{
int temp=0;
for(int i,j,k=0; str[k]!='\0'; k++){ if(str[k]!=' ')temp=temp*10+(str[k]-48);
编译器显示
error: 'for' loop initial declarations are only allowed in c99 mode
我不知道这意味着什么, 但如果我这样写代码:
long unsigned int arr[3][3];
char str[50];
for(;gets(str);)
{
int temp=0;
int i,j,k=0;
for(; str[k]!='\0'; k++){ if(str[k]!=' ')temp=temp*10+(str[k]-48);
它工作正常。 为什么会这样?
【问题讨论】:
-
你确定你是用 C++ 编译的吗?
-
添加编译器选项-std=c99
-
您未处于 C99 变体模式。
-
其实它是用 C 写的...不是 C++
-
可能是this 可以提供帮助!尝试自己用谷歌搜索:)
标签: c