求大神解决遇到一个C语言的题目,自己才疏学浅,对#define的用法没有完全理解,求帮助。题目如下:#include#define PT 3.5 ;#define S(x) PT*x*x ;main(){ int a=1, b=2; printf("%4.1f\n" , S(a+b)); }程序运行后的输出结果是( )。A) 7.5B) 31.5C) 程序有错无输出结果D) 14.0 参考答案:C【解析】宏定义不是C语句,末尾不需要有分号。所以语句printf("%4.1f\n" , S(a+b));展开后为printf("%4.1f\n" ,3.5;*a+b*a+b;);所以程序会出现语法错误。虽然有解析,但是小的仍然不明白#define的错误,和解析,求解释。