在我的代码中,我无法初始化for循环初始化部分中的变量。 当我写这篇文章的代码: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++编译? – 0x499602D2
添加编译器选项-std = c99 – DuXeN0N
您不处于C99变体模式。 –