8、有以下程序int a=2;int f(int *a){return (*a)++;}main( ){int s=0;{int a=5;s+=f(&a);}s+=f(&a);printf(“%d\n”,s);}执行后输出结果是
查看答案
9、有以下程序void swap(int *p1,int *p2){int *t;t=p1;p1=p2;p2=t;}main( ){int a=3,b=4;swap(&a,&b);printf(“%d %d\n”,a,b);}执行后输出结果是
A. 3 4
B. 4 3
C. 1 1
D. 43 0
10、下面程序应能对两个整型变量的值进行交换。以下正确的说法是main(){int a=10,b=20;printf("(1)a=%d,b=%d\n",a,b);swap(&a,&b);printf("(2)a=%d,b=%d\n",a,b);}swap(int p,int q){int t;t=p;p=q;q=t;}
A. 该程序完全正确
B. 该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
C. 该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可
D. 以上说法都不对
11、下列程序段的输出结果是void fun(int *p, int *q){printf("%d %d ", *p, *q);*p=3;*q=4;}main(){int x=1,y=2;fun(&x,&y);printf("%d %d",x, y);}
A. 2 1 4 3
B. 1 2 1 2
C. 1 2 3 4
D. 2 1 1 2
19、有以下函数定义:void fun(int n, double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是
A. fun(int y,double m);
B. k=fun(10,12.5);
C. fun(x,n);
D. void fun(n,x);