(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 } if(a[k]==x)return k; else return 0; }
(54) 下列程序的输出结果是
以下是引用片段: main( ) { int a[5]={2,4,6,8,10},*P,* *k; p=a; k=&p; printf("%d",*(p++)); printf("%d\n",* *k); } |