有以下程序 void f(int*x,int*y) { int t; t=*x;*x=*y;*y=t; } main() { int a[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=&a[7]; while(p { f(p,q);p++; q--; } for (i=0;i<8;i++)printf("%d,",a[i]); } 程序运行后的输出结果是______。
A.8,2,3,4,5,6,7,1,
B.5,6,7,8,1,2,3,4,
C.1,2,3,4,5,6,7,8,
D.8,7,6,5,4,3,2,1,
第1题:
主调函数中的两个变量a和b,要求调用函数交换a、b值,返回交换结果,则以下正确的函数是______。
A.funa(int*x,int*y) { int*p; *p=*x;*x=*y;*y=*p; }
B.funb (int x,int y) {int t;t=x;x=y;y=t;}
C.func(int *x,int*y) {*X=*y;*y=*x;}
D.fund(int *x,int *y) {*x=*x+*y;*y=*x-*y;*x=*x-*y;}
第2题:
下面程序的运行结果是void swap(int *a,int *b){ int *t; t=a;a=b;b=t;}main(){ int x=3,y=5,*p=&x,*q=&y; swap(p,q); printf("%d%d\n",*p,*q);}
第3题:
有以下程序:#include <stdio.h>void f(int * x,int * y) int t; t= *x; *x= *y; *y=t;main ( ){ int a[8] = { 1,2,3,4,5,6,7,8} ,i, * p, * q; p=a;q =&a[7]; while(p<q) { f(p,q) ;p ++ ;q --; } for(i =0;i<8;i ++ ) printf(" % d," ,a[i]); }程序运行后的输出结果是( )。
A.8,2,3,4.,5,6,7,1,
B.5,6,7,8,1,2,3,4,
C.1,2,3,4,5,6,7,8,
D.8,7,6,5,4,3,2,1,
第4题:
设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数,请填空。main(){ int findbig(int,int,int); int (*f)(),x,y,z,big; f=; scanf("%d%d%d",&x,&y,&z); big=(*f)(x,y,z); printf("big=%d\n",big);}
第5题:
以下程序的输出结果是include "stdio.h"int *f(int *x,int *y){ if(*x<*y) return x; else return y;}main(){ int a=7,b=8, *p,*q,*r ; p=&a; q=&b; r= f(p,q); printf("%d,%d,%d\n",*p,*q,*r);}
第6题:
下面程序和运行运行结果是【 】。
void swap(int * a,int * b)
{ int * t;
t=a; a=b; b=t;
}
main( )
{ intx=3,y=5,* p=&x,* q=&y;
swap(p,q);
prinff("%d %d\n", *p, *q);}