(51) 若有以下说明:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为6的表达式是
A) *p+6
B) *(p+6)
C) *p+=5
D) p+5
(52) 下面程序输出数组中的最大值,由s指针指向该元素.
| 以下是引用片段: main() { int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s; flr(p=a, s=a; p-a<10; p++) if(---?---)s=p; printf("The max:%d",*s): } |
则在if语句中的判断表达式应该是
A) p>s
B) *p>*s
C) a[p]>a[s]
D) p-a>p-s
(53) 要求函数的功能是在一维数组中查找值;若找到则返回所在的下标值,否则返回0;数列放在到中。不能正确执行的函数是
A)funa(int *a,int n,int x ) B)funb(int *a,int n,int x)
{ *a=x; {int k;
while(a[n]!=x)n--; for(k=1;k<=n;k++)
return n; if(a[k]==x)return k;
} return 0; }
C)func(int a[],int n,int x ) D) fund(int a[],int n,int x )
{ int *k; { int k=0;
a[0]=x;k=a+n; do
while(*k!=x) k--; k++;
return k-n; while((k
(54) 下列程序的输出结果是
| 以下是引用片段: main( ) { int a[5]={2,4,6,8,10},*P,* *k; p=a; k=&p; printf("%d",*(p++)); printf("%d\n",* *k); } |
A) 4 4
B) 2 2
C) 2 4
D) 4 6
(55) 阅读下列程序:
| 以下是引用片段: main( ) { int n[3],i,j,k; for(i=0;i〈3;i++〉 n[i]=0; k=2; for (i=0;i〈k;i++〉 for (j=0;j〈k;j++〉 n[j]=n[i]+1; printf("%d\n",n[1]); } |
下述程序运行后输出结果是
A) 2
B) 1
C) 0
D) 3