我对c的减号操作有问题。
printf("\nPlease enter your payment:\n", userpayment);
scanf("%.2f", &userpayment);
customerchange = userpayment - totalfinal;
printf("The amount of change is %.2f\n", customerchange);
我声明
userpayment
和totalfinal
为double
。当我输入价格时,例如,
userpayment = 2000
和totalfinal
是1500,输出总是1500。解决这个问题的办法是什么?
这是输出:
输入项目的价格:
五百
输入项目数量:
三
付款总额为:1500.00令吉
这是最后一件吗?
是的
已向客户提供Rm50现金回扣。
现金回扣前付款总额:1500
现金回扣后的付款总额为1450
请输入您的付款:
五千
您的找零是14500.00室
最佳答案
如果“userpayment”定义为double,则更改
scanf("%.2f", &userpayment);
到
scanf("%lf", &userpayment);
或者将变量改为float。
现在,你正在扫描一个浮点数到一个double的内存中,这会导致不可预测的行为。