该程序计算折扣。如果我将变量priceperitem更改为int并对代码(格式说明符等)进行必要的更改,则计算折扣的语句会完全给出不同的答案。任何人都可以解释此背后的逻辑。我努力尝试但不能明白什么是错误的? ..它可以与运营商的关联性有关吗?还是仅仅是分裂的事情......?计算混乱
#include<stdio.h>
main()
{
int quantity;
float priceperitem,expense,discount;
printf("Price Per Item =");
scanf("%f",&priceperitem);
printf("How much quantity do you want =");
scanf("%d",&quantity);
if(quantity>1000)
{
discount=quantity*priceperitem*10/100;
printf("The discount is %f\n",discount);
expense=quantity*priceperitem - discount;
printf("The discounted price is %f",expense);
}
}
你有一个给定输入的例子,它输出什么? – j883376 2013-05-05 15:49:16
您正在看[整数除法](http://en.wikipedia.org/wiki/Division_%28mathematics%29#Of_integers) – Shahbaz 2013-05-05 15:51:15
'10/100'评估为'0' – typ1232 2013-05-05 15:51:59