A-A+

有以下程序 float fun(int x int y){ return{x+ y); }

2022-08-06 04:29:21 问答库 阅读 175 次

问题详情

有以下程序 float fun(int x, int y){ return{x+ y); }main(){ int a=2,b=5,c=8; printf("%3.ofn",fun((int)fun(a+ c, B) ,a-C) );} 程序运行后的输出结果是
A.编译出错
B.9
C.21
D.9请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
解析:本题考查的知识点是函数的参数类型、函数值类型及函数调用.fun()函数是将传进来的两个整型参数相加,把和作为函数值返回,.注意返回值为float型.在主函数调用了两次fun()函数,第一次调用时把表达式“a+c”和变量“b”的值求和,得到15转换为15.0作为函数的返回值。第二次调用把第一次调用的返回值通过强制类型转换成int型15,再和表达式“a-c”相加,得到结果9,转换成float型作为函数值返回。由于输出格式符为“%3.0f”输出时没有小数位,故输出为9.所以4个选项中B正确。

考点:程序