[杂谈] 填空题 - 宏定义的使用
来源:互联网 发布:超级理财软件官网 编辑:程序博客网 时间:2024/05/17 18:04
#define N 3
#define Y(n) ((N+1)*n)
printf("%d\n", 2*(N+Y(5+1)));的结果是多少?
不是很简单么当然是2*(3+4*6) = 54么,恭喜你错了。
请继续想清楚再往后看。
首先N = 3;
那么先把所有用到N的地方都换成3
现在是
#define Y(n) ((N+1)*n) -> Y(n) (4*n)
然后关注表达式:2*(N+Y(5+1))
2*(N+Y(5+1)) -> 2*(3+Y(5+1))
Y(5+1) -> 4*5+1
所以,2*(3+Y(5+1)) -> 2*(3+4*5+1) -> 48
重点就在于这个宏命令,不要想当然的先计算,后代入。
豁然开朗的继续去查查C语言的宏命令,会秒懂更多东西。
#define Y(n) ((N+1)*n)
printf("%d\n", 2*(N+Y(5+1)));的结果是多少?
不是很简单么当然是2*(3+4*6) = 54么,恭喜你错了。
请继续想清楚再往后看。
首先N = 3;
那么先把所有用到N的地方都换成3
现在是
#define Y(n) ((N+1)*n) -> Y(n) (4*n)
然后关注表达式:2*(N+Y(5+1))
2*(N+Y(5+1)) -> 2*(3+Y(5+1))
Y(5+1) -> 4*5+1
所以,2*(3+Y(5+1)) -> 2*(3+4*5+1) -> 48
重点就在于这个宏命令,不要想当然的先计算,后代入。
豁然开朗的继续去查查C语言的宏命令,会秒懂更多东西。
0 0
- [杂谈] 填空题 - 宏定义的使用
- 杂谈--oracle实例的定义
- [C++杂谈]:C++中宏的使用
- 一道简单的填空题
- Android 使用代码实现一个填空题
- 填空题
- 填空题
- 填空题
- 填空题
- 宏定义的使用
- 宏定义的使用
- 宏定义的使用
- 宏定义的使用
- 宏定义的使用
- #宏定义的使用
- 宏定义的使用
- 超级雷人的高考填空题
- SAT填空题答题的两个注意事项
- android面试题六
- [杂谈] 计算机中的小端模式和大端模式
- Google揭露“仙女座”虚拟网络,及分散和集中架构之辩
- [杂谈] C#中的集合初始化器&&匿名类
- [笔试题] 金山2013开发笔试 - 读程序,写结果
- [杂谈] 填空题 - 宏定义的使用
- [杂谈] 路遇一脑残题 - a++以及++a
- [C++] C++的拷贝构造函数浅析
- [C++] 静态变量基本知识
- 连接oracle报错“ORA-28547:connection to server failed,probable Oracle Net admin 解决办法
- [笔试题] 腾讯某道笔试题,概率问题
- 摘录4:中小资金的高效买卖法。
- [C++] 类型兼容规则
- ContentPRovider示例