有以下程序
#inelude(stdio.h>
int f(int n);
main( )
{int a=3,s;
s=f(A);8=s+f(A);prinff(“%d\n”,s);
}
int f(int n)
{static ifit a=1:
n+=a++:
return n;
}
程序运行后的输出结果是
A.7
B.8
C.9
D.10
第1题:
以下程序的输出结果是
#include<stdio.h>
int a[3][3]={1,2,3,4,5,6,7,8,9,},*p;
main()
{ p=(int*)malloc(sizeof(int));
f(p,a);
printf("%d\n",*p);
free(p); }
f(int *s, int p[][3])
{ *s=p[1][1];}
A.1
B.4
C.7
D.5
第2题:
以下程序的输出结果是
#include
int a[3][3]={1,2,3,4,5,6,7,8,9,},*p;
main( )
{ p=(int *)malloc(sized(int));
f(p,a) ;
printf("%d\n",*p);
free(p);}
f(int *s,int p[ ][3])
{ *s=p[1][1];}
A.1
B.4
C.7
D.5
第3题:
以下程序的输出结果是 #include<stdio.h> int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main() { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d\n”,*p); free(p);} f(int *s,intp [][3]) { *s=p[1][1];}
A.1
B.4
C.7
D.5
第4题:
以下程序的输出结果是 #include<stdio.h> int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main() { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d\n",*p); free(p);} f(int *s, int p[][3]) { *s=p[1][1];}
A.1
B.4
C.7
D.5
第5题:
有以下程序
include<stdio.h>
int*f(int*p,int*q);
main( )
{int m=1,n=2,*r=&m;
r=f(r,&n);printf(”%d\n”,*r);
}
int-f(int*P,int*q)
(return(*p>*q)?p:q;)
程序运行后的输出结果是______。
第6题:
有以下程序: #include <stdio.h> 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) } 执行后的输出结果是( )。
A.10
B.9
C.7
D.8
第7题:
有以下程序 #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.2
B.3
C.4
D.5
第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); } 执行后输出结果是( )。
A.10
B.9
C.7
D.8
第9题:
有以下程序:
includedstdio.h>
int f(int n);
main( )
{int a=3,s;
s=f(a);s=s+f(a);printf("%dkn",s);
}
int f(int n)
{static int a=1;
n+=a++;
return n;
}
程序运行后的输出结果是( )。
A.7
B.8
C.9
D.10
本题考查函数的调用。当执行s=f(a)时,进入fun函数,n=n+(a++),n的值为3,a的值为1,a++的意思是先用a的值,再将a加1为2,所以n的结果为4,也就是主函数中f(a)的结果为4;返回主函数,执行s=s+f(a),s为4,再次调用函数,此时n仍为3,a的值刚才已经自加2,所以计算后n的值为5,a自加l为3。返回主函数,f(a)的结果为5,所以s=4+5=9。