我是一年级的大学生,正在为我的初学者编程课从事一个项目。我正在尝试向用户询问一个代表起始金额的值,该值必须大于或等于零。在调试程序时,我注意到当我输入一个负值时,程序会要求我重新输入一个大于或等于零的值(就像应该这样),但是初始负值被分配给了变量进行计算,导致输出错误。我想知道是否有人对如何将正值分配给变量有任何想法。
我有一个函数,要求用户输入一个值,将该值存储在变量中,然后将变量返回给主函数。在我的主函数中,我有一个等于函数调用的变量集。初始化之后,我尝试使用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本身中,但这也不是解决方案。