宏定义不能随便进行计算
宏使用的小细节:
#define pi 2+3 //宏定义过的值不可修改
int main()
{
char name[12]=“zhao guo qi”;
int a=pi*2; //边缘效应,用宏定义进行计算是错误的做法
printf("%d",a);//期望打印10
return 1;
}
实际打印结果却为8,所以使用要注意,可以用宏定义在语句进行计算,前提它得是个固定值而不是一个表达式。
修改后:#define pi 5 //宏定义过的值不可修改
打印结果为10是预期结果。
所以C语言中要注意小细节!!!