有如下程序; #include using namespace std; void fun(int&a,________){int c;c-a;a=b;b=c;} int main(){ int x=14,y=20;

admin2016-09-20  49

问题 有如下程序;
    #include
    using namespace std;
    void fun(int&a,________){int c;c-a;a=b;b=c;}
    int main(){
    int x=14,y=20;
    fun(x,y);
    cout<    return 0;
    }
    运行后的输出结果是"2020’’,则横线处的语句应为(    )。

选项 A、b
B、int b
C、int*b
D、int&b

答案B

解析 C++中,函数的参数必须指定类型,选项A错误;C++中,函数的参数默认是按值传递的,观察程序可知,在函数fun中,由于fun函数的第一个参数为引用类型,所以x值被改变为y的值,由于程序输出x、y的值均为20,所以y的值并没有在调用fun的过程中被改变,所以fun函数的第二个形参类型不能为引用类型,选项D错误;由于fun函数中,形参a、b与整型变量c之间可以相互赋值,所以b不可能为指针类型,选项C错误;对于选项B,由于函数参数按值传递,所以形参b的改变,不会影响实参y的值,选项B正确。
转载请注明原文地址:https://kaotiyun.com/show/5dNp777K
0

最新回复(0)