一直以为宏定义是有顺序的,今天发现,原来没有,测试了下,代码如下:
1 #include
2
3 int main()
4 {
5 #define M N+1
6 #define N 1
7
8 int i = M;
9 printf("i = %d\n", i);
10 return 0;
11 }
阅读(91) | 评论(0) | 转发(0) |
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
1 #include
2
3 int main()
4 {
5 #define M N+1
6 #define N 1
7
8 int i = M;
9 printf("i = %d\n", i);
10 return 0;
11 }
网上谷歌,有一博客这样写道,预处理器是这样对宏替换的
先将所有的宏定义收集起来,然后处理源代码,发现一个宏定义符就立即替换。
相关热门文章
给主人留下些什么吧!~~
评论热议