假设储蓄和费用是已赋值的double类型变量。编写if-else语句,输出单词 Solvent ,通过费用值减少Savings的值,并将费用的值设置为0,前提是节省的费用高于费用。但是,如果节省的费用少于费用,则if-else语句只输出破产一词,并且不会更改任何变量的值。
具体问题:为什么我输入一个储蓄值后我的程序会立即跳过?我该如何解决这个问题?
#include <stdio.h>
void solvent();
int main(void)
{
double savings, expenses;
printf("\nEnter a number for savings: ");
scanf("%2lf", &savings);
printf("Enter a number for expenses: ");
scanf("%2lf", &expenses);
if(savings > expenses)
solvent();
else
printf("Bankrupt!");
system("pause");
return 0;
}
void solvent(double savings, double expenses)
{
printf("Solvent!");
savings -= expenses;
expenses = 0;
}
答案 0 :(得分:0)
好的,由于我不太明白的原因,让%2lf
只是%lf
就足以解决这个问题了。感谢Weather Vane。