知道我为什么会收到该错误吗?我以为我做的一切都很好,在我编码过去之前它没有显示任何错误?
for (int i=0;i<height;i++)
{
if (i == 0 || i == height-1 )
{
for (int j=0;j<width;j++)
{
printf("%i_",paddings);
if (j == width-1)
{
printf("%i\n",paddings);
}
}
}
最佳答案
这是 ANSI C 时代的阻碍。基本上,这意味着您必须像这样声明要在 for
循环中使用的变量:
// Looping variables declared outside the loops
int i, j;
for (i = 0; i < n; i++)
{
if (i == 0 || i == height - 1)
{
for (j = 0; j < width; j++)
{
printf("%i_", paddings);
if (j == width - 1)
{
printf("%i\n", paddings);
}
}
}
}
或者,您可以更改编译器标志,使其使用 C99 或更高版本。对于 gcc
,这只需要添加编译标志 -std=c99
,或者对于 C11,-std=c11
关于c - 在 C99 模式之外使用的“for”循环初始声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30159997/