问题 单项选择题

有以下程序:
#include<stdio.h>
char fun(char x, char y)
if(x<y) return x;
return y;

main()
int a='9', 'b='8', c='7';
printf("%c\n", fun(fun(a, b), fun(b, c) ) );

程序的执行结果是( )。

A) 函数调用出错
B) 8
C) 9
D) 7

答案

参考答案:D

解析: 本题考核的知识点是函数的返回值以及返回值作为函数的参数。经过分析得出函数fun()的功能是比较形参x和形参y的大小,返回较小的一个。函数fun()有两个参数。本题中,首先定义了三个整型变量a、b和c,分别赋初值为9、8和7。然后执行函数fun(fun(a, b),fun(b, c))。在该函数中分别将fun(a, b)和fun(b, c)函数的返回值作为该函数的两个实参。在函数fun(a, b)中,由于a>b,故返回较小值b即8,在函数fun(b, c)中,由于b<c,故返回较小值c即7,因此调用函数fun(fun(a, b),fun(b, c))返回8、7中较小者7。

单项选择题 A1型题
单项选择题 A1/A2型题