9.7 以下程序的输出结果是
A)720
B)120
C)24
D)6
f(int b[ ],int n)
{
int i,r=1;
for(i=0;i<=n;i++)r=r*b[i];
return r;
}
main()
{
int x,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
printf("%d\\n",x);
}
答案:B
9.8 以下程序中若第一个printf语句输出的是194,则第二个printf语句的输出结果是
A)212
B)204
C)1a4
D)1a6
main()
{
int a[]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\\n",p);
printf("%x\\n",p+9);
}
答案:D
9.9 以下程序的输出结果是
A)0987654321
B)4321098765
C)5678901234
D)0987651234
fun(int *s,int n1,int n2)
{
int i,j,t;
i=n1; j=n2;
while(i {
t=*(s+i); *(s+i)=*(s+j); *(s+j)=t;
i++; j--;
}
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,0},*p=a,i;
fun(p,0,3); fun(p,4,9); fun(p,0,9);
for(i=0;i<10;i++)printf("%d",*(a+i));
}
答案: C
9.10 以下程序的输出结果是
A) 4 4
B) 2 2
C) 2 4
D) 4 6
main()
{ int a[5]={2,4,6,8,10},*p,**k;
p=a; k=&p;
printf("%d ",*(p++));
printf("%d\\n",**k);
}
答案: C
9.11 当运行以下程序时输入三行,每行都是在第一列上开始,代表Enter键:
a
b
cdef
则程序的输出结果是
A) abcdef
B) a
C) a
D) a
b b b
c cd cdef
d
e
f
#include "stdio.h"
#define N 6
main()
{ char c[N]; int i=0;
for(i=0;i for(i=0;i }
答案: C
9.12 若有定义和语句:
int c[4][5], (*cp)[5];cp=c;
则对c数组元素的引用正确的是
A) cp+1
B) *(cp+3)
C) *(cp+1)+3
D) *(cp+2)
答案: D