大家受累看看这个

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:00:48
#include<stdio.h>
#define PT 5.5
#define S(x) PT*x*x
main()
{int a=1,b=2;
printf("%4.1f\n",S(a+b));}

答案是9.5,我不知道怎么来的,另外高人指点下,%4.1f是什么意思?谢谢~

#define S(x)PT*x*x
是直接把代码复制过去,不考虑括号的。S(a+b)就是
PT*a+b*a+b
得出的自然是9.5
如果想要这样的结果PT*(a+b)*(a+b)
那么就要改成
#define S(x) PT*(x)*(x)
%4.1f是小数点前保留4位,小数点后保留1位的意思。