gpt4 book ai didi

c - 在函数中使用 scanf 和循环

转载 作者:太空宇宙 更新时间:2023-11-04 08:48:43 25 4
gpt4 key购买 nike

我想使用一个函数向用户询问余额。如果余额低于 0,系统会提示用户输入一个高于 0 的值。这是我目前所做的代码:

#include <stdio.h>
#include <string.h>

float getPositiveValue();
int main()
{
float begbal;
begbal = getPositiveValue();
getPositiveValue();
printf("balance: %f\n", begbal);

return 0;
}

float getPositiveValue()
{
float money;
printf("Please enter the beginning balance: \n");
scanf("%f", &money);
if(money < 0)
{
printf("Enter a balance amount above 0:");
scanf("%f", &money);
}else{

}
}

我收到错误“警告:控制到达非空函数的末尾”。我知道我需要结束 else 语句,但不确定如果他们确实输入了大于 0 的值,应该在其中放什么。此外,当程序运行时,出于某种原因,它会两次要求用户输入期初余额。看起来这应该是一个简单的修复,出于某种原因,我无法理解函数,呵呵。

非常感谢任何帮助。

修改后的工作代码(感谢):

#include <stdio.h>
#include <string.h>

float getPositiveValue();
int main()
{
float begbal;
begbal = getPositiveValue();

printf("balance: %f\n", begbal);

return 0;
}

float getPositiveValue()
{
float money;
printf("Please enter the beginning balance: \n");
scanf("%f", &money);
while(money < 0)
{
printf("Enter a balance amount above 0:");
scanf("%f", &money);
}
return money;
}

最佳答案

getPositiveValue() 应该返回一个值( float )。您可以添加 return money;在收盘前}。

如果用户特别密集,没有输入正数怎么办?你只想给他们一次机会吗?如果没有,您可能想使用 while (money < 0.0)循环。

关于c - 在函数中使用 scanf 和循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20504779/

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