suchenxiang 发表于 2022-1-25 20:25:49

请各位帮我看看问题出在哪里,谢谢

#include<stdio.h>
#define f f
#define c (f-32)*5/9
int main()
{
        int f;
        float c;
        printf("请输入华氏度:");
        scanf("%d",&f);
        printf("华氏度:%d\n",f);
        printf("摄氏度:%.1f\n",c);
       
        return 0;
}
/*1摄氏度 =(1华氏度 – 32)* 5 / 9*/

喝水卡牙 发表于 2022-1-28 15:50:55

1.宏定义中,标识符和常量不能一样,否则报错,#define f f,运行,发现报错,
2. 宏定义中,已定义标识符 c 的常量为   (f-32)*5/9 下面不能再有定义,float C;否则会报错,
3. 标识符 c 的宏定义,5 和 9 后面加一位小数,这样计算的数值不会是整型,会更精确,#include<stdio.h>
#define F f
#define C (f-32)*5.0/9.0
int main()
{
      int F;
       //float C;
      printf("请输入华氏度:");
      scanf("%d",&F);
      printf("华氏度:%d\n",F);
      printf("摄氏度:%.1f\n",C);
      
      return 0;
}
页: [1]
查看完整版本: 请各位帮我看看问题出在哪里,谢谢