#include <stdio.h> #define A 1 #define B A+4 #define C A*B/4
int main() { printf("C=%d",C); //求得C的结果为2 程序的执行过程是1*1+4/4 }
当我将输出的%d换成%f结果就变成了0.000000 不应该是2.000000的么,求告解
收起
define定义的A 1 这个1只是 宏名A的一个字符串;在实际运用过程中不会进行隐式转换为浮点数;
如果把A 定义为1.0 结果就是你要的
报告相同问题?