A-A+
设有以下宏定义: #define N 3 #define Y(n) ((N+1)*n)则执行
问题详情
设有以下宏定义: #define N 3 #define Y(n) ((N+1)*n)则执行以下语句后,z的值为______。 z=2*(N+Y(3+2));
A.出错
B.34
C.46
D.54请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:B
解析:注意C语言中宏定义是先替换再参与运算,因此:z=2*(N+(N+1)*3+2)=2*(3+(3+1)*3+2)=34。