偷鱼的牛牛 发表于 2022-9-4 22:07:41

C语言常量作业问题

请问为什么结果不是12.20元?
题目:
今天的平均菜价(单位是元/千克,1 斤等于 0.5 千克):番茄(3.7),芥蓝(7),西芹(1.3),空心菜(8),洋葱(2.4),油菜(9),黄瓜(6.3),白萝卜(0.5)
计算小明买 2 斤番茄、1 斤空心菜、1 斤油菜需要支付的价格,并打印出来

#include <stdio.h>

#define FAN 3.7*0.5
#define JIE 7*0.5
#define XI 1.3*0.5
#define KON 8*0.5
#define YANG 2.4*0.5
#define YOU 9*0.5
#define HUANG 6.3*0.5
#define BAI 0.5*0.5

int main()
{
        float a;
        float b;
        float c;
       
        a = ("2 * %f + 1 * %f + 1 *%f\n", FAN , KON , YOU);
       
       
       
        printf("小明需要支付%.2f元\n", a);
       
        return 0;

}

临时号 发表于 2022-9-4 22:15:06

本帖最后由 临时号 于 2022-9-4 22:17 编辑

#include <stdio.h>

#define FAN 3.7*0.5
#define JIE 7*0.5
#define XI 1.3*0.5
#define KON 8*0.5
#define YANG 2.4*0.5
#define YOU 9*0.5
#define HUANG 6.3*0.5
#define BAI 0.5*0.5

int main()
{
      float a;
      float b;
      float c;
      
      // a = ("2 * %f + 1 * %f + 1 *%f\n", FAN , KON , YOU);不是这样写的
        a = 2 * FAN + 1 * KON + 1 * YOU;
      
      
      
      printf("小明需要支付%.2f元\n", a);
      
      return 0;

}

wp231957 发表于 2022-9-4 22:16:56

a = ("2 * %f + 1 * %f + 1 *%f\n", FAN , KON , YOU
好奇怪的代码啊,确认不是搞笑???

偷鱼的牛牛 发表于 2022-9-4 22:22:05

wp231957 发表于 2022-9-4 22:16
a = ("2 * %f + 1 * %f + 1 *%f\n", FAN , KON , YOU
好奇怪的代码啊,确认不是搞笑???

小白小白,请问为什么算出来不是12.20元?

wp231957 发表于 2022-9-4 22:25:48

偷鱼的牛牛 发表于 2022-9-4 22:22
小白小白,请问为什么算出来不是12.20元?

这外层的括号可以去掉,那么就变成了一个逗号表达式,所以最终a的结果就是YOU的值,4.5就是这么来的,

偷鱼的牛牛 发表于 2022-9-4 22:28:36

wp231957 发表于 2022-9-4 22:25
这外层的括号可以去掉,那么就变成了一个逗号表达式,所以最终a的结果就是YOU的值,4.5就是这么来的,

明白了 谢谢

halemorning 发表于 2022-9-5 02:08:38

临时号 发表于 2022-9-4 22:15


领教,我说怎么看楼主写的这行怪怪的 又没反应过来什么问题
页: [1]
查看完整版本: C语言常量作业问题