以下程序的执行结果是 ______。 include<iostream.h> int &amp;max(int &amp;x,int &amp;y) { ret

题目
以下程序的执行结果是 ______。 include int &max(int &x,int &y) { ret

以下程序的执行结果是 ______。

include<iostream.h>

int &max(int &x,int &y)

{

return(x>y? x:y);

}

void main()

{

int n=2,m=10;

max(n,m)--;

cout<<"n="<<n<<",m="<<m<<endl;

}

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

第1题:

下列程序的运行结果是includevoid fun(int * a,int * b){int * k; k=a; a=b; b=k;}

下列程序的运行结果是 #include<iostream.h> void fun(int * a,int * b) { int * k; k=a; a=b; b=k; } void main( ) { int a=3,b=6, * x=&a, * y=&b; fun(x, y) ; cout < < a < < " " < < b; }

A.6 3

B.3 6

C.编译出错

D.0 0


正确答案:B
解析:函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中去。在本题解析中,我们试图将这一问题解释清楚!
  大家可以考虑一下利用下面这函数可不可以实现 a和b的互换。
  swap(int x, int y)
  { int;
   t=X;
   x=y;
   y=t;
  }
  如果在main函数中用swap(a, b) ,会有什么结果呢?在函数调用开始时,a的值传送给x,b的值传递给 y。执行完swap( ) 函数后,x和y的值是互换了,但 main( ) 函数中的a和b并未互换。也就是说由于“单向传递”的“值传递”方式,形参值的改变无法传递给实参。
  为了使在函数中改变了的变量值能被main( ) 函数所用,不能采取上述办法,而应该用指针变量作函数参数。在函数执行过程中使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化被保留下来,这样就实现了调用函数改变变量的值,在主调函数中使用这些改变了的值的目的。
  swap(int * p1,int * p2)
  { int p;
   p= * p1;
   * p1= * p2;
   * p2=p;
  }
  注意交换 * p1和 * p2的值是如何实现的,如果写成下面这样就有问题了!
  swap(int * p1,int * p2)
  { int * p;
   * p=p1;/ * 此语句有问题 * /
   * p1= * p2;
   * p2= * p;
}
  * p1就是a,是整型变量。而 * p是指针变量p所指向的变量,但p中并无确切地址,用 * p可能会破坏系统的正常工作状态。应该将。p1的值赋给一个整型变量,用整型变量作为过渡变量实现,p1和 * p2的交换。

第2题:

以下程序执行后的输出结果是include using namespace std;void try(int,int,int,int)

以下程序执行后的输出结果是 #include <iostream> using namespace std; void try(int,int,int,int); int main () { int x,y,z,r; x =1 ; y = 2; try(x,y,z,r); cout<<r<<endl; return 0; } void try(int x,int y,int z,int r) { z = x+y; x = x*x; y = y*y; r = z+x+y; }

A.18

B.9

C.10

D.不确定


正确答案:D
解析:本题考核函数调用(参数的传递)。本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。以下是正确解答,根据程序逐步分析:程序中定义了一个名为try的void型函数,即函数try没有任何返回值。而try函数在main函数中是以一条独立语句的方式被调用的,且main函数最后输出变量r的值。但在main函数中,并没有对变量r赋值。在c++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以虽然在函数try中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

第3题:

下面程序的运行结果是 include void fun(int * a,int * b) { int x= * a; * a= *

下面程序的运行结果是

#include<iostream.h>

void fun(int * a,int * b)

{

int x= * a;

* a= * b; * b=X;

cout < < * a < < * b < <" ";

}

void main( )

{

int x=1,y=2;

fun(&x,&y) ;

cout < < X < < y < < endl;

}

A.12 12

B.12 21

C.21 12

D.21 21


正确答案:D
解析:本题考查的是指针和引用,函数 fun完成把x和y互换的操作。

第4题:

下列程序段的输出结果是 include void fun(int * X,int * y) {cout < < * X < <

下列程序段的输出结果是 #include<iostream.h> void fun(int * X,int * y) { cout < < * X < < * y; * X=3; * y=4; } void main( ) { int x=1,y=2; fun(&y,&x); cout < < X < < y < < end1; }

A.2143

B.1212

C.1234

D.2112


正确答案:A
解析:在fun函数中,x接收的是main函数中y的地址,所以*x值为2,同样,*y值为1,所以第1次输出的是21,第2次改变*x的值等同于改变y的值,改变*y的值也即改变x的值,所以第2次输出的是43。注意:C++语言中函数的传参方式中关于指针的应用。

第5题:

下列程序段的输出结果是includevoid fun(int*x,int*y){cout<<*x<<*y;*X=3;*y=4;}vo

下列程序段的输出结果是 #include<iostream.h> void fun(int*x,int*y) {cout<<*x<<*y; *X=3; *y=4; } void main() {int x=1,y=2; fun(&y,&x); cout<<X<<y<<endl; }

A.2143

B.1212

C.1234

D.2112


正确答案:A

第6题:

下列程序段的输出结果是includevoid fun(int * x,int * y){cout<<* X<<* y; *X=3;

下列程序段的输出结果是 #include<iostream.h> void fun(int * x,int * y) { cout << * X << * y; *X=3; *y=4; } void main() { int x=1,y=2; fun(&y,&x); cout << X << y<<endl; {

A.2143

B.1212

C.1234

D.2112


正确答案:A
解析:在fun函数中,x接收的是main函数中y的地址,所以*x值为2,同样,*y值为1,所以第1次输出的是21,第2次改变*x的值等同于改变y的值,改变*y的值也即改变x的值,所以第2次输出的是43。注意:C++语言中函数的传参方式中关于指针的应用。

第7题:

以下程序执行后的输出结果是includeusing namcspace std;void try(int,int,int,int);

以下程序执行后的输出结果是 #include<iostream> using namcspace std; void try(int,int,int,int); int main() { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = x*x; y = y*y; r = z+x+y; }

A.18

B.9

C.10

D.不确定


正确答案:D
解析:本题考核函数调用(参数的传递)。本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。以下是正确解答,根据程序逐步分析:程序中定义了一个名为try的void型函数,即函数try没有任何返回值。而try函数在main函数中是以一条独立语句的方式被调用的,且main函数最后输出变量r的值。但在main函数中,并没有对变量r赋值。在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以虽然在函数try中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

第8题:

以下程序执行后的输出结果是( )。include usingnamespacestd;void try(int,int,int,in

以下程序执行后的输出结果是( )。 #include <iostream> using namespace std; void try(int,int,int,int); int main ( ) { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = X*X; y = y*y; r = z+x+y; }

A.18

B.9

C.10

D.不确定


正确答案:D
解析:本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。下面是正确解答。根据程序逐步分析:①程序中定义了一个名为try的void型函数,即函数try()没有任何返回值。②而try()函数在主函数中是以一条独立语句的方式被调用的,且主函数最后输出变量r的值。③但在主函数中,并没有对变量r赋值。④在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以,虽然在函数try()中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

第9题:

以下程序执行后的输出结果是()。includeusing namespace std;void try(int,int,int,in

以下程序执行后的输出结果是( )。 #include<iostream> using namespace std; void try(int,int,int,int); int main() { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<endl; return 0; } void try(int x,int y, int z,int r) { z = x+y; X = x*x; y = y*y; r = z+x+y; }

A.18

B.9

C.10

D.不确定


正确答案:D

第10题:

以下程序执行后的输出结果是include.using namespace std;void try(int,int,int,int)

以下程序执行后的输出结果是 #include<iostream>. using namespace std; void try(int,int,int,int); int main() { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = x*x; y = y*y; r = z+x+y; }

A.18

B.9

C.10

D.不确定


正确答案:D
解析:本题考核函数调用(参数的传递)。本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。以下是正确解答,根据程序逐步分析:程序中定义了一个名为try的void型函数,即函数try没有任何返回值。而try函数在main函数中是以一条独立语句的方式被调用的,且main函数最后输出变量r的值。但在main函数中,并没有对变量r赋值。在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以虽然在函数try中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。