问题 单项选择题

下列程序是用来判断数组中特定元素的位置所在。如果输入如下整数: 876 675 896 101 301 401 980 431 451 777 #include<conio.h> #include<stdio.h> int fun(int *s,int t,int *k) { int i; *k=0; for(i=0;i<t;i++) if(s[*k]<s[i])*k=i; return s[*k];} main() { int a[10]={876,675,896,101,301,401,980,431,45l,777},k;clrscr();fun(a,10,&k);printf("%d,%d\n",k,a[k]);} 则输出结果为

A.7,431

B.6

C.980

D.6,980

答案

参考答案:D

解析: 本题中直接使用指针变量k,但在使用时要注意对k的指针运算。此外,一开始应知道 *k的值为数组中的某一下标值,即*k=0,本函数的功能是找出数组中的最大元素的位置及最大元素的值。

解答题
单项选择题