为什么我不能让程序回答除0.00以外的任何内容?

时间:2019-10-14 03:28:50

标签: c

程序运行正常,但始终给我0.00的答案。我已经浮动了数字并回答了,它要求输入第一个和第二个数字,但是我看不到哪里出了问题。

#include <stdio.h>
#include <math.h>


int main()
{
   float sub;
   float num1 = 18.73;
   float num2 = 20.00;

   printf("Please enter the total of the meal: \n");
   scanf("%f", &num1);

   printf("Please enter the amount of money you have: \n");
   scanf("%f", &num2);

   sub = num2 - num1;
   printf("\nYour change is: %.2f\n", &sub);

   return 0;
}

2 个答案:

答案 0 :(得分:2)

您正在打印sub的地址: 这样做:

printf("\nYour change is: %.2f\n", sub);

代替:

printf("\nYour change is: %.2f\n", &sub);

答案 1 :(得分:0)

在您的代码中,我发现了2个错误

  1. 使用scanf时不要为变量分配大于0的数字
float num1 = 0; //use this
float num2 = 0;
  1. 输出数字时,请勿在{{1​​}}中使用&。这就是给您0的原因。
printf

最后,您无需在这些程序之王中使用printf("\nYour change is: %.2f\n", sub);