单选题有以下程序#includeint fun(int a,int b){ return a+b;}main(){ int x = 6,y=7,z = 8,r; r = fun(fun(x,y),z--); printf(%d,r);}程序运行后的输出结果是(  )。A 15B 21C 20D 31

题目
单选题
有以下程序#includeint fun(int a,int b){ return a+b;}main(){ int x = 6,y=7,z = 8,r; r = fun(fun(x,y),z--); printf(%d,r);}程序运行后的输出结果是(  )。
A

15

B

21

C

20

D

31

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

第1题:

有以下程序:fun(int a,int b){ a++;b++;if(a>b) return(a);else return(b);}voidmain(){ int x=3,y=8,z=6,r; r=fun(fun(x,y++),2*z); printf("%d\n",r);}程序运行后的输出结果是( )。A.13 B.6C.8 D.12


正确答案:A
函数的功能是将a,b的值增1后将较大的值返回。因此fun(x,y++)=10,fun(10,12)=13,所以r=13.

第2题:

(33)有以下程序

#include <stdio.h>

int fun{int x,int y}

{ if(x==y) return(x);

else return((x+y)/2)

}

main()

{ int a=4,b=5,c=6;

printf(“%d\n”,fun(2*a,fun(b,c)))

}

程序运行后的输出结果是

A)3 B)6 C)8 D)12


正确答案:B

第3题:

有以下程序

#include <stdio.h>

int fun(int x,int y)

{ if(x==y) return (x);

else return((x+y)/2);

}

main()

{ int a=4,b=5,c=6;

printf("%d\n",fun(2*a,fun(b,c)));

}

程序运行后的输出结果是

A)3

B)6

C)8

D)12


正确答案:B

第4题:

有如下程序:includeint func(int a,int b){return(a+b):}main(){int x=2,y=5,z=8,r; r

有如下程序: #include <stdio.h> int func(int a,int b) { return(a+b):} main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r); } 该程序的输出结果是( )。

A.12

B.13

C.14

D.15


正确答案:D
解析:在表达式r=func(func(x,y),z)中,func(x,y)是第一次调用函数,它的返回值7作为func函数第二次调用的实参,结果为15。

第5题:

以下程序的输出结果是 【10】 。

fun (int x,int y,int z)

{ z =x*x+y*y;}

main ()

{int a=31;

fun (6,3,a)

printf ("%d", a)

}


正确答案:
31

第6题:

有以下程序

fun(int x,int y,int z)

{ z=x*y;}

main()

{int a=4,b=2,c=6;

fun(a,b,c);

printf("%d",c);

}

程序运行后的输出结果是

A.16

B.6

C.8

D.12


正确答案:B

第7题:

有以下程序: fun (iht a,int b) { if(a>b)return(a); else return(b); } main() { int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf("%d\n",r); } 程序运行后的输出结果是( )。

A.3

B.6

C.8

D.12


正确答案:D
解析:主函数中首先定义了4个整型变量x、y、z和r,并分别给x、y、z赋初值为3、8、6,接着调用一个fun()函数,并将返回值赋给变量r。其中将fun(x,y)函数的返回值和2*z作为fun()函数的两个参数。在内层fun(x,y)函数中,将x的值和y的值传给形参a和b,此时a和b的值分别为3和8,执行if浯句,由于if后面判断条件表达式a>b为假,所以执行else后面的语句,返回值为8。此时,外层fun(x,y)函数两个参数为8和2*z=12,所以r的赋值语句相当于r=fun(8,12),同上分析可知tim(8,12)返回值为12,因此最后r的值为12。

第8题:

写出下列程序的运行结果。 fun(int a, int b) { if(a>b) return (a); Else return (b); } main { int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf(“%d\n”,r); }


正确答案:
12

第9题:

有以下程序:includefun(int a, int b){if(a>b) return(a); elsereturn(b);}main(){int

有以下程序: #include <stdio.h> fun(int a, int b) { if(a>b) return(a); else return(b); } main() { int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf("%d\n",r); } 程序运行后的输出结果是( )。

A.3

B.6

C.8

D.12


正确答案:D
解析:本题考查函数的返回值。fun函数的功能是比较a,b的值,返回其中较大者。对于main函数中的语句r=fun(fun(x,y),2*z);是先调用fun(x,y)返回8,再将8和12作为实参调用函数fun,得到的返回值为12。

第10题:

有以下程序

fun(int a, int b)

{ if(a>b) return(a);

else return(b);

}

main( )

{ int x=3, y=8, z=6, r;

r=fun(fun(x,y), 2*z);

printf("%d\n", r);

}

程序运行后的输出结果是

A.3

B.6

C.8

D.12


正确答案:D
解析:此题考查了带返回值的函数的调用。fun()函数的功能是求出两个数的最大数并返回主函数r=fun(fun(x,y),2*z)处。执行过程为先调用函数fun(x,y)求得两数中的较大者,再进行自身的递归调用,此时函数中的两个参数为刚求得的数和2*z(即12)传递给子函数,找出两数中的大数。

更多相关问题