单选题有以下程序:#include void fun(int*a,int*b){ int*c; c=a; a=b; b=c;}main(){ int x=3,y=5,*p=x,*q=y; fun(p,q); printf(%d,%d,*p,*q); fun(x,y); printf(%d,%d,*p,*q);}程序运行后的输出结果是(  )。A3,5,5,3B3,5,3,5C5,3,3,5D5,3,5,3

单选题
有以下程序:#include void fun(int*a,int*b){ int*c; c=a; a=b; b=c;}main(){ int x=3,y=5,*p=&x,*q=&y; fun(p,q); printf(%d,%d,*p,*q); fun(&x,&y); printf(%d,%d,*p,*q);}程序运行后的输出结果是(  )。
A

3,5,5,3

B

3,5,3,5

C

5,3,3,5

D

5,3,5,3


参考解析

解析:
从程序中可以看出fun函数的作用是将两个指针变量所指向的位置互换。在主函数中,两次调用fun函数,第一次调用传递的实参是指向数值的指针,在C语言中实参变量与形参变量之间的数据传递方式是单向的“值传递”方式,调用fun函数不可能改变实参指针变量的值,只可以改变实参指针变量所指变量的值。那么经fun函数处理后,不改变指针变量的值,其输出的结果应该是3,5,;第二次调用传递的实参是存放变量的地址,与第一次调用一样,地址的改变不能被允许,因此其输出结果也是3,5。答案选择B选项。

相关考题:

有以下程序 include int i=0; void fun( ) { { static int i=1 有以下程序 #include<iostream> int i=0; void fun( ) { { static int i=1; Std::cout<<i++<<','; } Std::cout<<i<<','; } int main( ) { fun();fun(); return O; } 程序执行后的输出结果是A.1,2,1,2,B.1,2,2,3,C.2,0,3,0,D.1,0,2,0,

阅读下列程序: include void fun(int n) { int x(5); static int y(10); if(n>0) { 阅读下列程序:include<iostream.h>void fun(int n){int x(5);static int y(10);if(n>0){++x;++y;cout<<x<<","<<y<<endl;}}void main()int m(1);fun(m);}则该程序的输出结果是______。

以下程序的输出结果是( )。 include void fun(int x) {if(x/2>0)fun(x/2); printf("%d", 以下程序的输出结果是( )。include<stdio.h>void fun(int x){ if(x/2>0)fun(x/2);printf("%d",x);}main(){fun(3);printf("\n");}

阅读下面程序:include int fun( int a, int b ){int c;c=a*b;return c;}void main() 阅读下面程序:include <iostream.h>int fun( int a, int b ){int c;c=a*b;return c;}void main(){int a=3,b=5,c=4,x=0;x=fun(fun(a, b),c);cout<<x<<end1;}其运行结果是【 】。

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

下面程序的运行结果为_____。 include void fun(int x=0,int y=0) { cout 下面程序的运行结果为_____。include<iostream.h>void fun(int x=0,int y=0){cout < < x < < y;}void main( ){fun(5) ;}

有以下程序includefloat fun(int x,int y){return(x+y);}void main( ){int a=2,b=5 有以下程序 #include<iostream.h> float fun(int x,int y) {return(x+y);} void main( ) {int a=2,b=5,c=8; cout<<fun((int)fun(a+c,b) ,a-c) ;}程序运行后的输出结果是A.编译出错B.9C.21D.9

下列程序的输出结果是()。 include int fun(int x) {int a; if(x==0‖x==1) return 3; 下列程序的输出结果是( )。#include<stdio.h>int fun(int x){ int a;if(x==0‖x==1)return 3;elsea=x-fun(x-2) ;return a;}void main(){ printf("%d",fun(7) );}A.2B.8C.9D.5

有以下程序 include void fun(int n, int *p) { int f1,t2; if(n==1 | 有以下程序 #include <stdio.h> void fun(int n, int *p) { int f1,t2; if(n==1 ||n==2) *p=1; else { fun(n-1,f1); fun(n-2,f2); *p=f1+f2; } } main() { int s; fun(3,s); printf("%d\n", s ); }A.2B.3C.4D.5

有以下程序:includeFloat fun(int x, int y){return(x+y) ;}void main( ){int a=2, 有以下程序: #include<iostream.h> Float fun(int x, int y) { return(x+y) ;} void main( ) { int a=2,b=5,c=8; cout < < fun((int) fun(a+c, b) ,a-c) ;} 程序运行后的输出结果是A.编译出错B.9C.21D.9.0

有以下程序#include "stdio.h"void fun(int *a,int *b){ int c=20,d=20; *a=c/3; b=d/5;}main(){ int a=3,b=5; fun(a,b); printf("%d,%d\n",a,b);}程序的运行结果是A.6,5 B.5,6C.20,25 D.3,5

下列程序的输出结果是()。 include int fun(int x) {int a;if(x==0‖x==1) return 3;els 下列程序的输出结果是( )。 #include<stdio.h> int fun(int x) { int a; if(x==0‖x==1) return 3; else a=x-fun(x-2); return a; } void main() { printf("%d",fun(7)); }A.2B.8C.9D.5

有以下程序 include void fun(int*a,int*B) { int*c; c=a;a=b;b=c; } main() {int x=3 有以下程序 #include<stdio.h> void fun(int*a,int*B) { int*c; c=a;a=b;b=c; } main() { int x=3, y=5,*p=x, *q=y; fun(p,q); printf("%d,%d,",*p,*q); fun(x,y); printf(" %d,%d\n",*p,*q); } 程序运行后的输出结果是______。A.3,5,5,3B.3,5,3,5C.5,3,3,5D.5,3,5,3

有以下程序:include void fun(iht * a,int i,int j){int t;if(i 有以下程序:#include <stdio, h>void fun(iht * a,int i,int j){ int t; if(i < j) { t=a[i];a[i] =a[j] ;a[j]=t; i++;j--; fun(a,i,j);main ( ) int x[ ]: {2,6,1,8} ,i; fun(x,0,3); for( i=0;i <4;i ++ ) printf( "%2d" ,x[i] ); printf(" \n");A.1268B.8621C.8162D.8612

有以下程序 include int fun(int a, int b) { if(b==0) return a; 有以下程序 #include <stdio.h> int fun(int a, int b) { if(b==0) return a; else return(fun(-a,-b)); } main() { printf("%d\n",fun(4,2)); } 程序的运行结果是______。A.1B.2C.3D.4

有以下程序 include include int fun(int n) {int * 有以下程序 #include <stdio.h> #include <stdlib.h> int fun(int n) {int *p; p=(int*)malloc(sizeof(int)); *p=n; return *p; } { int a; a=fun(10); printf("%d\n",a+fun(10)); } 程序的运行结果是______。A.0B.10C.20D.出错

有以下程序 include void fun(int a[],int n) { int i,t; for(i=0; 有以下程序 #include <stdio.h> void fun(int a[],int n) { int i,t; for(i=0;i<n/2;i++) {t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;} } main() {int k[10]={1,2,3,4,5,6,7,8,9,10},i; fun(k,5); for(i=2;i<8;i++) printf("%d",k[i]); printf("\n"); } 程序的运行结果是______。A.345678B.876543C.1098765D.321678

给出以下程序的执行结果【】。 include using namespace std; int n=1; void Fun(); int 给出以下程序的执行结果【 】。include <iostream>using namespace std;int n=1;void Fun();int main (){n++;Fun ( );if (n>0){int n=5;cout<<"Block: n="<<n<< ", ";}cout<< "Main: n="<<end1;return 0;}void Fun ( ){int n=10;cout<<"Fun: n="<<n<<",";}

下列程序的输出结果是【】。 include void fun(int x) { if(x/2>0) fun(x/2); printf("%d" 下列程序的输出结果是【 】。include <stdio.h>void fun(int x){if(x/2>0) fun(x/2);printf("%d",x);}main(){fun(3);printf("\n");}

以下程序输出结果是 ______。includevoid fun(int x,int y,int z){z=x+y;}void main 以下程序输出结果是 ______。 #include<iostream.h> void fun(int x,int y,int z){z=x+y;} void main() { int a=10; fun (2,2,a); cout<<a; }A.0B.4C.10D.无定值

有以下程序,程序执行后,输出结果是【】include void fun(int*A) {a[0]=a[1];} main() {i 有以下程序,程序执行后,输出结果是【 】include<stdio.h>void fun(int*A){ a[0]=a[1];}main(){ int a[10]={10,9,8,7,6,5,4,3,2,1,},i;for(i=2;i>1=0;i-) fun(a[i]);for(i=0;i<10;i++) printf("%d,a[i]);printf("\n");}

有以下程序#include "stdio.h"void fun(int *a,int *b,int c){ c=*a+*b; }main(){ int a[2]={6,9},c=0; fun(a,a+1,c); printf("%d\n",c);}程序输出的结果是 A.6 B.9C.0 D.15

有以下程序:include using namespace std;void fun(int i,int j){ cout 有以下程序: #include <iostream> using namespace std; void fun(int i,int j) { cout<<(i+j)<<end1; } void fun(int i) { cout<<i++<<end1; } int main() { int a=1; fun(A) ; return 0; } 该程序执行后的输出结果是( )。A.1B.2C.3D.4

下列程序的输出结果是( )。 include int fun(int x) {int p;if(x==0‖x==1) return 3;el 下列程序的输出结果是( )。 #include<stdio.h> int fun(int x) { int p; if(x==0‖x==1) return 3; else p=x-fun(x-2); return p; } void main() { print f("\n%d", fun(5)); }A.5B.3C.7D.1

有以下程序: include void fun(char(*p)[6]) { int i; for(i=0;i 有以下程序: #include void fun(char(*p)[6]) { int i; for(i=0;iA.Aa1FB.Ab3IC.ABCDD.fghij

下列程序运行后的输出结果是()。 include void fun(int,int,int*); void main() { i 下列程序运行后的输出结果是( )。 #include<iostream.h> void fun(int,int,int*); void main() { int x,y,z; fun(5,6,x); fun(7,x,y); fun(x,y,z); cout<<x<<","<<y<<","<<z<<end1; } void fun(int a,int b,int *c) { b+=a; *c=b-a; }A.5, 5, 5B.6, 6, 6C.5, 6, 7D.7, 7, 7

有以下程序:includevoid fun(int a,int b,int c){ a=456,b=567,c=678;}main(){ int x= 有以下程序: #include <stdio.h> void fun(int a,int b,int c) { a=456,b=567,c=678;} main() { int x=10,y=20,z=30; fun(x,y,z); printf("%d,%d,%d\n",x,y,z); } 此程序的输出结果是( )。A.30,20,10B.10,20,30C.456,567,678D.678,567,456

有以下程序 include floatfun(int x,int y) {return(x+y);}void main() {int a=2,b 有以下程序 #include<iostream.h> floatfun(int x,int y) {return(x+y);} void main() {int a=2,b=5,c=8; tout<<fun((int)fun(a+c,b),a-C);} 程序运行后的输出结果是A.编译出错B.9C.21D.9