鱼C论坛

 找回密码
 立即注册
查看: 2797|回复: 7

常量宏定义 课后作业最后一题 求大神解惑

[复制链接]
发表于 2019-6-20 17:11:29 | 显示全部楼层 |阅读模式
6鱼币

微信图片_20190620170648.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-20 17:31:53 | 显示全部楼层
#define是宏定义,在编译器编译阶段会将标号处替换为宏定义的值,

比如拿printf("%s", XM);来说,XM被替换为一个表达式,这个表达式计算后在这里并不是一个字符串,故会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-6-20 17:40:16 | 显示全部楼层
newu 发表于 2019-6-20 17:31
#define是宏定义,在编译器编译阶段会将标号处替换为宏定义的值,

比如拿printf("%s", XM);来说,XM被替 ...

那可以怎么改呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-20 17:45:55 | 显示全部楼层
把%s换成%f试一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-20 23:31:13 | 显示全部楼层
#include <stdio.h>

#define FANQIE 3.7
#define JINLAN 7
#define XIQIN 1.3
#define KONGXINCHA 8
#define YANGCONG 2.4
#define YOUCAI 9
#define HUANGGUA 6.3
#define BAILUOBO 0.5
int main()

{
        double price ;  // float 和double 都行,一般用double ,如果声明float ,系统会自动变为double
        price=(2*FANQIE+1*KONGXINCHA+1*YOUCAI)*0.5;
        printf("小明需要支付%.2f元\n",price );   //这里计算支付的价格,保留2位小数,所以用浮点型

        price=(3*XIQIN+0.5*YANGCONG+5*HUANGGUA)*0.5;
        printf("小红需要支付%.2f元\n",price );

        price=(10*HUANGGUA+20*BAILUOBO)*0.5;
        printf("小甲鱼需要支付%.2f元\n",price );
        return 0;


}

评分

参与人数 1荣誉 +3 收起 理由
朔方血 + 3 谢谢,可是我想在截图那个基础上改,那个是.

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-21 00:25:57 | 显示全部楼层
#include <stdio.h>

#define F 3.7
#define J 7
#define X 1.3
#define K 8
#define YCONG 2.4
#define YCAI 9
#define H 6.3
#define B 0.5
#define XM (2*F+K+YCAI)*0.5
#define XH (3*X+0.5*YCONG+5*H)*0.5
#define XJY (10*H+20*B)*0.5

int main()

{
       
       
        printf("小明需要支付%.2f元\n",XM );   


        printf("小红需要支付%.2f元\n",XH );

       
        printf("小甲鱼需要支付%.2f元\n",XJY);
       


}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-21 11:04:26 | 显示全部楼层
#include <stdio.h>

#define F 3.7
#define J 7
#define X 1.3
#define K 8
#define YC 2.4
#define Y 9
#define H 6.3
#define B 0.5

#define XM 2*F+K+Y
#define XH 3*X+0.5*YC+5*H
#define XJY 10*H+20*B

int main()

{


        printf("小明需要支付%.2f元\n",XM );


        printf("小红需要支付%.2f元\n",XH );


        printf("小甲鱼需要支付%.2f元\n",XJY);



}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-25 12:14:12 | 显示全部楼层
把全部printf里的%s换成%f就行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-4 01:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表