C语言题目,求大神告诉我这题为何选B,我有点笨,希望具体点,谢谢

如题所述

宏定义与函数不同,它是编译器对源码进行编译的过程中对宏定义进行原封不动的替换,本题中会将程序中的f(x)替换为x*x,所以f(3+3)/f(3+3)被替换为3+3*3+3/3+3*3+3,所以结果就是25
如果想要得到正确的结果,可以这样定义:
#define f(x) (x)*(x)追问

Great!

温馨提示:答案为网友推荐,仅供参考