gpt4 book ai didi

c - while 循环不会执行

转载 作者:行者123 更新时间:2023-11-30 19:26:18 25 4
gpt4 key购买 nike

我需要一个 while 循环来只接受正数。我写了一个 while 循环,但它不会执行,我不确定出了什么问题。我的代码在 for while 循环中工作得很好,但是当我输入负数并运行代码时,它会打印出输入,然后重新提示用户。我只是想让它重新提示,而不是打印输入。

如果有人能提供帮助,谢谢。

这将打印输入,然后重新提示用户

#include <cs50.h>
#include <stdio.h>

int main(void)

{
float change;

do
{
change = get_float("Change: ");
printf("%f\n", change);
}
while (change < 1);

}

这根本不会执行

#include <cs50.h>
#include <stdio.h>

int main(void)

{
float change;

while (change < 1)
{
change = get_float("Change: ");
printf("%f\n", change);
}


}

最佳答案

请尝试以下操作。查看评论以获取解释

使用 do..while 循环

#include <cs50.h>
#include <stdio.h>

int main(void)

{
float change;

do
{
change = get_float("Change: ");

}
while (change < 1);
printf("%f\n", change);

}

使用 while 循环

#include <cs50.h>
#include <stdio.h>

int main(void)

{
float change;
change = get_float("Change: "); //Capture value for first time
while (change < 1) //Check if input value is negative
{
change = get_float("Change: "); //If negative ask for input again

}

printf("%f\n", change); // If value is positive, while loop passed over and value printed


}

关于c - while 循环不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57642397/

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