以下程序的执行结果为:
#inlcude <stdio.h>
#define N 2
#define M N+1
#define NUM (M+1)*M/2
int main()
{
pirntf(“%d”,NUM);
}
答案是:8
原因:这里的宏定义,在进行替换时是直接替换,懂什么叫直接替换嘛?就是傻瓜一样的替换:
NUM = (N+1+1)*N+1/2
懂了?
懂了!!!
以后再遇到宏定义,不要用人的思想去代入计算,而是直接替换。记住了?
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交