鱼C论坛

 找回密码
 立即注册
查看: 2266|回复: 4

[学习笔记] 我这个程序可以吗

[复制链接]
发表于 2023-6-5 20:16:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

#define OI 0.5
#define F(a) OI*d+f*OI+2*OI*a
#define F(b) OI*3*1.3+OI/2*2.4+5*OI*g
#define F(c) 10*OI*g+20*OI*l
int main()
{
         float a=3.7;
         int b=7;
         float c=1.3;
         int d=8;
         float e=2.4;
         int f=9;
         float g=6.3;
         float l=0.5;

         printf("小明需要支付%.2f\n",F(a));
         printf("小红需要支付%.2f\n",F(b));
         printf("小甲鱼需要支付%.2f\n",F(c));
         
         return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-6-5 20:38:08 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-6-5 21:17:46 | 显示全部楼层
在您的代码中,F 进行了重定义,这样的码风不是很好。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-5 21:20:01 | 显示全部楼层
zhangjinxuan 发表于 2023-6-5 21:17
在您的代码中,F 进行了重定义,这样的码风不是很好。

那要怎么做
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-5 21:21:39 | 显示全部楼层


可以更改不同 F 宏函数的名称,例如 F1, F2, F3:


  1. #include <stdio.h>

  2. #define OI 0.5
  3. #define F1(a) OI*d+f*OI+2*OI*a
  4. #define F2(b) OI*3*1.3+OI/2*2.4+5*OI*g
  5. #define F3(c) 10*OI*g+20*OI*l
  6. int main()
  7. {
  8.          float a=3.7;
  9.          int b=7;
  10.          float c=1.3;
  11.          int d=8;
  12.          float e=2.4;
  13.          int f=9;
  14.          float g=6.3;
  15.          float l=0.5;

  16.          printf("小明需要支付%.2f\n",F1(a));
  17.          printf("小红需要支付%.2f\n",F2(b));
  18.          printf("小甲鱼需要支付%.2f\n",F3(c));
  19.          
  20.          return 0;
  21. }
复制代码


重定义可能会导致代码可读性变差,引发各种问题,建议不要使用。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 21:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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