gpt4 book ai didi

c - 如何仅在值满足条件时才为变量赋值?

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

我是一名大学一年级学生,正在为我的初学者编程类(class)做一个项目。我试图向用户询问一个值,该值代表起始金额,该值必须大于或等于零。当我调试程序时,我注意到当我输入负值时,程序要求我重新输入一个大于或等于零的值(就像它应该的那样),但是初始负值被分配给变量来进行计算,导致输出不正确。我想知道是否有人对如何将正值分配给变量有任何想法。

我有一个函数,要求用户输入一个值,将该值存储在一个变量中,然后将该变量返回给主函数。在我的主函数中,我设置了一个等于函数调用的变量。初始化之后,我尝试使用 while 循环和 if 语句来检查值是否小于零,如果是,则告诉用户输入应该大于或等于零,然后再次调用该函数。

int main(){
int initialSize = getInitialSize();

if (initialSize < 0) {
printf("Initial size must be greater than or equal to 0");
getInitialSize();
}
}

int getInitialSize() {
int startingAmount;
printf("Enter initial size: ");
scanf("%d", &startingAmount);

return startingAmount;
}

我还尝试将 if 语句放在函数 getInitialSize 本身中,但这也不是解决方案。

最佳答案

我建议还添加一个测试,以确保用户实际上输入了有效的数字,因为如果他们输入了垃圾,那么 startingAmount 变量将不会具有合理的值(value)。

int getInitialSize() {

int startingAmount;

do
{
printf("Enter initial size: ");
} while (scanf("%d", &startingAmount) < 1 || startingAmount < 0);

return startingAmount;
}

现在,如果用户没有输入有效的数字或者他们输入的数字不让您满意,它就会循环询问用户输入。

关于c - 如何仅在值满足条件时才为变量赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58685004/

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