下面程序的运行结果是【】。 include<iostream> using namespace std; void fun(int&amp;a,int b=3)

题目
下面程序的运行结果是【】。 include using namespace std; void fun(int&a,int b=3)

下面程序的运行结果是【 】。

include <iostream>

using namespace std;

void fun(int &a, int b=3)

{

static int i=2;

a = a + b + i;

i = i + a;

}

int main()

{

int x=5, y=2;

fun(x, y);

cout<<x<<",";

fun(x);

cout<<x<<end1;

return 0;

}

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

第1题:

下面程序的运行结果是 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互换的操作。

第2题:

下列程序的运行结果是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的交换。

第3题:

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

下面程序的运行结果是 #include<iostream.h> void fun(int * a,int * b) { int x= * a; * a = * b; * b=x; cout <<*a<< *b<<""; } void main( 0 { int x =1,y =2; fun(&x,&y); cout<< x << y <<end1; }

A.12 12

B.12 21

C.21 12

D.21 21


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

第4题:

下面程序的运行结果是include < iostream.h >int fun ( int a[ ],int n){int result=1;for(int

下面程序的运行结果是 #include < iostream.h > int fun ( int a[ ],int n) { int result=1; for(int i=1;i<n;i++) result=result*a[i]; return result; } void main( ) { int a[3]={3,4,5}; cout << fun(a,

A.12

B.15

C.20

D.60


正确答案:C
解析:for循环执行2次,所以第一次for循环为result=1*a[l]=4,第二次for循环为result=4*a[2]=20。

第5题:

下面程序的输出结果是()。include using namespace std;int fun (int, int);//fun ( )

下面程序的输出结果是( )。 #include <iostream> using namespace std; int fun (int, int); //fun ( ) 函数的说明 void main( ) { int a =48,b =36,c; c = fun(a,B) ; cout<<c; } int fun(int u,int v) { int w; while (v) {w=u%v;u =v;v =w;} return u; }

A.24

B.12

C.48

D.36


正确答案:B
解析:注意运算符%的特点。

第6题:

下面程序的运行结果是______。 include void fun(int &a,int b=3) { static int

下面程序的运行结果是______。

include<iostream.h>

void fun(int &a,int b=3)

{

static int i=2;

a=a+b+i;

i=i+a;

}

void main()

{

int x=5,y=2;

fun(x,y);

cout<<x<<",";

fun(x);

cout<<x<<endl;

}


正确答案:923
9,23

第7题:

下面程序的运行结果是( )。include main(){int a=25; fun(&A); }fun(int *x){ print

下面程序的运行结果是( )。

include<stdio.h>

main()

{int a=25;

fun(&A);

}

fun(int *x)

{ printf("%d\n",++*x);

}


正确答案:26
26 解析:在主函数中只调用了fun函数,调用时把变量a的地址传递给形参。fun函数的形参x是一个指针,其基类型与主函数中a的类型一致,因此在调用时得到的是a的地址,输出项是++*x,*x代表的就是主函数中变量a的存储单元,++*x就是使主函数中a的值加1,输出26。

第8题:

下列程序的运行结果是()。include< iostream.h>void fun (int *a,int*b){int*kk=a;a=b;b=k}void

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

A.20049

B.92004

C.0

D.编译时出错


正确答案:A

第9题:

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

下列程序的运行结果是 #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.63

B.36

C.编译出错

D.0


正确答案:B
解析:函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中去。在本题解析中,我们试图将这一问题解释清楚!大家可以考虑一下利用下面这函数可不可以实现a和b的互换。swap(intx,inty){intt;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){intp;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的交换。

第10题:

下面程序的运行结果是includevoid fun(int*a,int*b){int X= *a;* a= *b;*b=X;cout<

下面程序的运行结果是 #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<<end1; }

A.12 12

B.12 21

C.21 12

D.21 11


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