我遇到的# define宏定义的问题

# include <stdio.h> # define PT 3.5 //# define S(x) PT*x*x //3.5*3*3 float S(int x) { return (PT*x*x); } void main() { int a = 1; int b = 2; printf("123456789\n"); printf("%4.1f\n", S(a+b)); }
大神帮看看啊
为什么我的用#define S(x) PT*x*x 这个宏定义是运行出的结果是7.5, 而用宏定义下边的函数运行出的结果是31.5啊?
求解释!
先谢谢啦!!!