kazuya8375 发表于 2022-3-1 16:17:59

define定义的问题

请问各位大佬 我这哪里出了问题 我研究好久 值出现都是1.85
#include<stdio.h>
#define tomato 3.7 / 2
#define bba8 / 2
#define qaq 9 / 2



int main()
{


      printf("小明要付%f元",tomato);
      printf("小王要付%f元",bba);
      printf("小紅要付%f元",qaq);









      return 0;
}

大马强 发表于 2022-3-1 16:45:58

两种方法
#include<stdio.h>
#define tomato 3.7 / 2
#define bba8 / 2.0
#define qaq 9 / 2.0



int main()
{
      printf("小明要付%f元\n",tomato);
      printf("小王要付%f元\n",bba);
      printf("小紅要付%f元\n",qaq);
      return 0;
}

#include<stdio.h>
#define tomato 3.7 / 2
#define bba8 / 2
#define qaq 9 / 2



int main()
{
      printf("小明要付%f元\n",tomato);
      printf("小王要付%d元\n",bba);
      printf("小紅要付%d元\n",qaq);
      return 0;
}

kazuya8375 发表于 2022-3-1 16:49:12

大马强 发表于 2022-3-1 16:45
两种方法

请问这是逻辑问题还是什么原因呢 为什么要 写成9/2.0 8/2.0 还有第二个方法 浮点数不是可以接受整数吗?

jackz007 发表于 2022-3-1 17:29:50

kazuya8375 发表于 2022-3-1 16:49
请问这是逻辑问题还是什么原因呢 为什么要 写成9/2.0 8/2.0 还有第二个方法 浮点数不是可以接受整数吗?

      整型数除法得到的结果一定是整型数,如果希望结果是浮点数,就得把其中的一个数表达为浮点数。

大马强 发表于 2022-3-1 17:56:06

kazuya8375 发表于 2022-3-1 16:49
请问这是逻辑问题还是什么原因呢 为什么要 写成9/2.0 8/2.0 还有第二个方法 浮点数不是可以接受整数吗?

这就是c语言的隐式转换
页: [1]
查看完整版本: define定义的问题