我这个程序可以吗
#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;
} {:10_275:} 在您的代码中,F 进行了重定义,这样的码风不是很好。 zhangjinxuan 发表于 2023-6-5 21:17
在您的代码中,F 进行了重定义,这样的码风不是很好。
那要怎么做 刘斩仙 发表于 2023-6-5 21:20
那要怎么做
可以更改不同 F 宏函数的名称,例如 F1, F2, F3:
#include <stdio.h>
#define OI 0.5
#define F1(a) OI*d+f*OI+2*OI*a
#define F2(b) OI*3*1.3+OI/2*2.4+5*OI*g
#define F3(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",F1(a));
printf("小红需要支付%.2f\n",F2(b));
printf("小甲鱼需要支付%.2f\n",F3(c));
return 0;
}
重定义可能会导致代码可读性变差,引发各种问题,建议不要使用。
页:
[1]