有如下程序: #include using namespace std; int f1(int x,int y=5) {return x+y;} int f1(double x){return x;} int main(){ int a=3; doubl

admin2019-08-23  26

问题 有如下程序:
#include
using namespace std;
int f1(int x,int y=5)  {return x+y;}
int f1(double x){return x;}
int main(){
int a=3;
double b=2.5;
cout<return 0;
}
运行后的输出结果是(    )。

选项 A、5
B、6
C、10
D、11

答案C

解析 题意中两个f1()函数是重载函数,其中第一个f1()函数有两个整型形参x,y,其中y有默认值5,函数返回值x+y;第二个n()函数有一个double类型形参x,再将x转换为整型作为函数返回值;main()函数中,表达式fl(a)+n(b)两次调用f1(),f1(a)由于实参a是整型变量,所以会调用第一个f1()函数,其中形参x的值为a,y的值为5,返回值为a+5=8;f1(b)由于实参b是double类型,所以调用第二个f1()函数,返回值为2;所以程序运行结果为8+2=10,答案为C。
转载请注明原文地址:https://kaotiyun.com/show/8D8p777K
0

最新回复(0)