为什么我的程序不允许我第二次输入?

时间:2018-03-08 21:12:07

标签: c

假设储蓄费用是已赋值的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;
}

1 个答案:

答案 0 :(得分:0)

好的,由于我不太明白的原因,让%2lf只是%lf就足以解决这个问题了。感谢Weather Vane。