问答题
请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。
例如,输入如下整数:876 675 896 101 301 401980 431 451 777。
则输出结果为:6,980。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include<stdio.h>
void fun(int*s,int t,int*k)
{
}
main()
{
int a[10]=(876,675,896,101,301,401,980,431,451,777},k;
fun(a,10,&k);
printf("%d,%d/n",k,a[k]);
}
【正确答案】
【答案解析】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];
}
[解析] 本题中直接使用指针变量k,使用时要注意对k进行指针运算。程序一开始让k指向数组中的第一个元素,即*k=0。