20. 设有以下宏定义,则执行语句“z=2*(N+Y(5+1));”后,z的值为( )。
#define N 3
#define Y(n) ((N+1)*n)
A.出错 B. 42 C. 48 D. 54
20. 设有以下宏定义,则执行语句“z=2*(N+Y(5+1));”后,z的值为( )。
答案:2 悬赏:10 手机版
解决时间 2021-03-09 17:46
- 提问者网友:自食苦果
- 2021-03-09 02:51
最佳答案
- 五星知识达人网友:轻雾山林
- 2021-03-09 04:20
z=2*(N+Y(5+1));
分步来替换,先替换Y(n)
z=2*(N+ ((N+1)*5+1) );
再替换N
z=2*(3+((3+1)*5+1) ); = 2*(3+4*5+1)=2*24=48
选C
分步来替换,先替换Y(n)
z=2*(N+ ((N+1)*5+1) );
再替换N
z=2*(3+((3+1)*5+1) ); = 2*(3+4*5+1)=2*24=48
选C
全部回答
- 1楼网友:像个废品
- 2021-03-09 05:21
y(5+1) = ((3+1)*5+1)
z = 2*(3+((3+1)*5+1)) = 2*(3+21) = 48
陷阱在于y(n)的定义,若改为:
#define y(n) ((n+1)*(n))
则z的值为54。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯