gpt4 book ai didi

C++程序不会进入for循环

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:52:40 29 4
gpt4 key购买 nike

好的,下面是我的代码中出现问题的部分。我想让它做的是接受一个成绩,决定它是否是一个有效的成绩,如果不是,则继续询问一个有效的数字。但是,它甚至不会进入循环,所以……有什么建议吗?我已经编程了一点,但我仍然很新,所以额外的解释很棒!这也是我第一次在 for 循环中使用 boolean 值。

for (bool b_valid=false; b_valid=false ; )
{
cin >> n_grade;
b_valid = true;
if (n_grade>100 || n_grade<0)
{
cout << "Invalid grade: Re-enter a number between 0-100 : " << endl;
cin >> n_grade;
b_valid = false;
}
}

最佳答案

您的条件是一个赋值:b_valid=false。它将评估为 false,循环将永远不会执行。你的意思是

for(bool b_valid = false; b_valid == false; )
^^^^

有一种编码风格要求比较中的常量是第一个参数,例如 if(false == b_valid)。在这种情况下,如果您不小心输入了 = ,就会出现编译器错误。在任何情况下,如果您编写了 boolean 表达式被扩展的赋值,许多编译器都会发出警告。要么你的没有那么复杂,要么你只是忽略了警告。

关于C++程序不会进入for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6468046/

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