有以下程序#include<stdio.h>#define F(X,Y)(X)*(Y)main(){int a=3,b=4;printf("%d\n",F(a++,b++

题目
有以下程序includedefine F(X,Y)(X)*(Y)main(){int a=3,b=4;printf("%d\n",F(a++,b++

有以下程序 #include<stdio.h> #define F(X,Y)(X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); 程序运行后的输出结果是

A.12

B.15

C.16

D.20

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

写出下面程序执行后的运行结果。 #include <stdio.h> #define F(X,Y) (X)*(Y) int main() { int a=3, b=4; printf("%d", F(a++, b++)); return 0; }


G [解析]x='f'则'f'-'a'=5,'A'+5+1='G'。对一下ASCⅡ码表就行了。

第2题:

有以下程序:include define F(X,Y)(X)*(Y)main(){int a=3,b=4;printf("%d\n",F(a++,b

有以下程序: #include <stdio.h> #define F(X,Y)(X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } 程序运行后的输出结果是( )。

A.12

B.15

C.16

D.20


正确答案:A
解析:在程序中先将表达式中的宏替换掉,则输出语句中的表达式为(a++)*(b++),而a++的值为3,b++的值为4。因此最后的值为3*4=12。所以,4个选项中选项A符合题意。

第3题:

有以下程序 #define F(X,Y)(X)*(Y) main() {int a=3,b=4: printf("%d\n",F(a++,b++)); } 程序运行后的输出结果是( )。

A.12

B.15

C.16

D.20


正确答案:A
解析:此题考查的是编译预处理命令以及自加运算符。F(a++,b++)先取a和b的值,参加运算,再把a和b的值分别加1,所以F(a++,b++)=F(3,4)=3*4=12。

第4题:

有以下程序:includedefine F(x,y) (x)*(y)main(){int a=3,b=4; printf("%d\n",F(a++,

有以下程序: #include <stdio.h> #define F(x,y) (x)*(y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } 程序运行后的输出结果是( )。

A.12

B.15

C.16

D.20


正确答案:A
解析:本题考查带参数的宏定义。对F(a++,b++)展开后,宏的返回值为3×4=12,这里a++,b++都是先使用变量值,再自增。

第5题:

有以下程序:includedefmeF(X,Y)(X)*(Y)main(){int a=3,b=4;printf("%d\n",F(a++,b++

有以下程序: #include<studio.h> #defme F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } 程序运行后的输出结果是( )。

A.12

B.15

C.16

D.20


正确答案:A
解析:在程序中先用表达式将宏替换掉,则输出语句中的表达式为(a++)*(b++),而a++的值为3,b++的值为4。因此最后的值为3*4=12。所以,4个选项中选项A符合题意。

第6题:

有以下程序: include difine F(X, Y)(X)*(Y)main(){int a=3, b=4; print("% d\n",

有以下程序: # include<stdio. h> # difine F(X, Y) (X)*(Y) main() { int a=3, b=4; print("% d\n", F(a++, b++)); } 程序运行后的输出结果是______。

A.12

B.15

C.16

D.20


正确答案:A
解析:F(a++,b++)的宏展开为:F(a++,b++)=(a++)*(b++)=a*b=3×4=12,因此printf函数的输出结果是12。

第7题:

有以下程序 #define F(X,Y)(X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } 程序运行后的输出结果是

A.12

B.15

C.16

D.20


正确答案:A
解析:本题考查了带参数的宏定义,参数只是简单的替换而不是把其值求出后替换形式参数。本题中用a抖替换X,用b++替换Y,再求(a++)*(b++)的值。

第8题:

有以下程序:include defineF(X, Y)(X)*(Y)main ( ){int a=3,b=4;printf("%d\n",F(

有以下程序:#include <studio. h >#define F(X, Y) (X)*(Y)main ( ){ int a=3, b=4; printf("%d\n", F(a++, b++));}

A.12

B.15

C.16

D.20


正确答案:A
解析:本题考核的知识点是宏与自增运算符的综合运用.在程序中先用表达式将宏替换掉,则输出语句中的表达式为(a++)*(b++),而a++的值为3,b++的值为4。因此最后的值为3*4=12。所以,4个选项中选项A符合题意。

第9题:

有以下程序 include define F(X,Y) (X)*(Y) main( ) { int a=3, b=4; prin

有以下程序

#include <stdio.h>

#define F(X,Y) (X)*(Y)

main( )

{ int a=3, b=4;

printf("%d\n", F(a++, b++));

}

程序运行后的输出结果是

A.12

B.15

C.16

D.20


正确答案:A
解析:本题考查了带参数的宏定义。参数只是进行简单的替换而不是把其值求出后替换形式参数。本题中用a++替换X,用b++替换Y,再求(a++)*(b++)的值。