码迷,mamicode.com
首页 > 其他好文 > 详细

面试宏扩展

时间:2018-05-25 22:52:15      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:标准   例子   http   测试   define   版本   alt   分享图片   程序   

很郁闷碰到了一个考宏扩展的例子:   #define DOUBLE(x) (x+x)  i = 8 * DOUBLE(8); 让求解i的值,我个人认为值应该是128.但是面试官说不对,感觉很怪异,然后我在一个VS10的工程里测试了下,发下:

技术分享图片

结果是对的啊?到底出问题在哪里呢,我想面试官应该想考我们宏替换的原理吧,按题意应该是8*8+8 = 72;难道是因为我用的vc的工程?

切换一个新控制台程序试试:

技术分享图片

真是见鬼了,是否C++版本的问题,或者我编译器的问题呢?

记得那道题用的是大括号,可在VS2010上根本编译都不过,是否是因为VS对C++11标准的部分支持呢?

周一用VC6.0试试!

 

面试宏扩展

标签:标准   例子   http   测试   define   版本   alt   分享图片   程序   

原文地址:https://www.cnblogs.com/WaterGood/p/9090883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!