gpt4 book ai didi

c - 循环条件中使用的变量未在循环体中修改

转载 作者:行者123 更新时间:2023-12-01 15:17:33 25 4
gpt4 key购买 nike

我对 C 很陌生,但我只是尝试使用 for 循环从 int change 的值中减去 25,假设该值已经大于 25。
我得到的错误信息是

"error: variable 'change' used in loop condition not modified in loop body [-Werror,-Wfor-loop-analysis]"


这让我感到困惑,因为我没有通过指定更改 -25 来修改循环体中的变量“更改”?
int main(void)
{
float n;
do
{
n = get_float("How much change do I owe you?: ");
}
while (n < 0);

for (int change = n * 100; change >= 25; change - 25)
{
printf("%i", change);
}
}

最佳答案

(作为 of request ,这里是 my comment 作为答案)

您的循环 for (int change = n * 100; change >= 25; change - 25)从不修改变量 change .

您只需从变量 change 的值中减去 25 ,返回结果并立即再次丢弃它。

所以代替

change - 25


change -= 25

哪个是简称
change = change - 25

请查看 the Wikipedia page about the for loop以了解有关语法的更多信息。

从那里摘录:
for (initialization; condition; increment/decrement)
statement

所以第三部分在 for循环应该是增量/减量。

关于c - 循环条件中使用的变量未在循环体中修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51317866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com