atl*_*one 2 c debugging for-loop
我现在已经引用堆栈溢出大约3个月了,99%的时间我可以找到我需要的东西,但我似乎找不到任何能在C中找到解释此错误消息的内容.
我对C很新,但我只是试图使用for循环从int更改的值中减去25,假设该值已经大于25.我得到的错误消息是
"错误:循环条件中使用的变量'更改'未在循环体中修改[-Werror,-Wfor-loop-analysis]"
这让我感到困惑,因为我不通过指定更改-25修改循环体中的变量'change'?
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);
}
}
Run Code Online (Sandbox Code Playgroud)
你的循环for (int change = n * 100; change >= 25; change - 25)永远不会修改变量change.
您只需从变量的值中减去25 change,返回结果并立即再次丢弃它.
而不是
change - 25
Run Code Online (Sandbox Code Playgroud)
使用
change -= 25
Run Code Online (Sandbox Code Playgroud)
这是简称
change = change - 25
Run Code Online (Sandbox Code Playgroud)
有关for循环的信息,请参阅Wikipedia页面以了解有关语法的更多信息.
从那里摘录:
for (initialization; condition; increment/decrement)
statement
Run Code Online (Sandbox Code Playgroud)
所以for循环中的第三部分应该是递增/递减.
| 归档时间: |
|
| 查看次数: |
1611 次 |
| 最近记录: |