C语言中的宏定义

0
10

(13)设有以下宏定义:

#define N 3

#define Y(n) ( (N+1)*n)

则执行语句: z = 2 * ( N + Y(5+1) ); 后,z的值为

A) 出错 B) 42 C) 48 D)54

这道题的答案是48。

这里代入之后,要看清楚:

N + Y( 5+1)

3 + (3+1)* 5 + 1 //宏定义中 *n, n是没有()的了

3 + 4 * 5 + 1 =24 //之后 24*2=48

<

发布回复

请输入评论!
请输入你的名字