以下程序的输出结果是【 】。 define MCRA(m) 2*m define MCRB(n m)
以下程序的输出结果是【 】。 define MCRA(m) 2*m define MCRB(n,m) 2*MCRA(n)+m main() { int i=2,j=3; printf("%d/n",MCRB(j,MCRA(i))); }
请帮忙给出正确答案和分析,谢谢!
参考解答
正确答案:16
带参数宏定义首先将程序中宏替换掉,先把“MCRA(i)”替换成“2*i”,然后把“MCRA(j,2,*i)”替换成“2*2*j+2*i”,经计算该表达式的值为16,所以最后输出为16。
相似问题
语句X++; ++X; X=X+1; X=1+X; 执行后都使变量X中的值增1 请写出一条同一功能的
语句X++;、++X;、X=X+1;、X=1+X;,执行后都使变量X中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)【 】。请帮忙给出正确答案和分析,谢谢!
下面程序的运行结果是:【 】。 define N 10 define s(x)x*x define
下面程序的运行结果是:【 】。 define N 10 define s(x)x*x define f(x)(x*x) main() { int i1,i2; i1=1000 s(N);i2=1000 f(N); prin
在我国行政法的渊源有()A. 宪法和法律B. 行政法规与规章C. 地方性法规D. 自治条例和单行条例
在我国行政法的渊源有()A 宪法和法律B 行政法规与规章C 地方性法规D 自治条例和单行条例
设有定义:int n *k=&n;以下语句将利用指针变量k读写变量n中的内容 请将语句补充完整。 s
设有定义:int n,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。 scanf(“%d”, 【 】); printf(“%d n”, 【 】);
以下程序的输出是【 】。 main() { char strl[]]='How do you do'
以下程序的输出是【 】。 main() { char strl[]]= "How do you do ",*p1=strl; strcpy(strl+strlen(strl) 2, "es she "); printf( "%s n ",p1); }请帮忙给出正确答案和分析,谢谢!
