1个回答
展开全部
宏定义就好像是WORD中的“全部替换”一样,只不过这个替换是在将源程序在系统“编译”时执行的。
举例说:
#define sub(a,b) ((a)-(b))
源程序中若有
x=sub(200-1,100+10);
会被编译为:
x=((200-1)-(100+10));
即x被赋值为89
如果#define sub(a,b) a-b的话
x=sub(200-1,100+10);
就变成x=200-1-100+10;
x会被赋值为109
举例说:
#define sub(a,b) ((a)-(b))
源程序中若有
x=sub(200-1,100+10);
会被编译为:
x=((200-1)-(100+10));
即x被赋值为89
如果#define sub(a,b) a-b的话
x=sub(200-1,100+10);
就变成x=200-1-100+10;
x会被赋值为109
追问
逗号表达式不是应该先执行吗
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询