首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

嵌套的宏定义在铺展的过程中会计算么

2012-09-07 
嵌套的宏定义在展开的过程中会计算么?#define N 2#define M N + 1#define K M + 1 * M / 2是这样:M: 2 + 1

嵌套的宏定义在展开的过程中会计算么?
#define N 2
#define M N + 1
#define K M + 1 * M / 2

是这样:
M: 2 + 1 = 3
K: 3 + 1 * 3 / 2 = 4.5
还是这样:
K: 2 + 1 + 1 * 2 + 1 / 2 =5.5

看这个程序的执行效果好像是第一种。

C/C++ code
#include <stdio.h>#define N 2#define M N + 1#define K M + 1 * M / 2int main ( ){    int i;    for (i = 1; i < K; i++)        printf( "t " );    printf( "\n" );    return 0;}


或者还有其他的原因?

[解决办法]
是2 + 1 + 1 * 2 + 1 / 2 = 5

热点排行