代码运行结果与想象的不一样,求大神帮助
float a的值本来应该是12.2,但是计算机运行之后a = 11.7,不知道是哪里出错了诶,b和c的值都是正常运行正确的......代码如下:
#include<stdio.h>
#define tomato 3.7
#define cabbage 7
#define celery 1.3
#define swamp 8
#define onion 2.4
#define oilseedrape 9
#define cucumber 6.3
#define whiteradish 0.5
int main()
{
float a = tomato + (oilseedrape / 2) + (swamp / 2);
float b = (celery / 2 ) * 3 + (onion / 2 )/ 2 + (cucumber / 2 ) * 5;
float c = (cucumber / 2) * 10 + (whiteradish / 2)* 20;
printf("小红需要支付%.2f元\n",a);
printf("小明需要支付%.2f元\n",b);
printf("小甲鱼需要支付%.2f元\n",c);
return 0;
}
#define tomato 3.7
#define cabbage 7.0
#define celery 1.3
#define swamp 8.0
#define onion 2.4
#define oilseedrape 9.0
#define cucumber 6.3
#define whiteradish 0.5
宏定义的时候定义成float型就不会出错了 昨非 发表于 2020-10-20 18:56
宏定义的时候定义成float型就不会出错了
好的!明白了!谢谢呀!
页:
[1]