C 中 for() 循环的关系比较结果未使用错误

relational comparison result unused error for for() loop in C

我正在做这个 challenge 并且我正在为代码使用这个 for 循环。

for (y >= i; y--;)
        {
            printf(" ");
        }

但我一直收到此错误

mario.c:57:20: error: relational comparison result unused [-Werror,-Wunused-comparison]
        for (y > i; y--;)
             ~~^~~

唯一有效的技巧是在 for() 条件中创建一个无用的变量,但那将是无用的,只会占用 space。只有其他修复?

for的第一部分是初始化部分,不是条件。条件是第二部分。你反而想要:

for (; y >= i; y--)
for (y >= i; y--;)
                |

应该是

for (;y >= i; y--)
     |

as 1. 计数器变量的初始化 and/or 定义(可以省略,如下所述),2. 条件和 3. 计数器的递增或递减。

初始化部分只能省略如果计数器变量,这里y,是声明的初始化 循环之前。