一道程序填空题:以下函数用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中

intfun(int*s,intt,int*k){inti;<br/>*k=0;<br/>for(i=0;i<t;i++)<br/>if(s[*k]<s[i])*k=i;... int fun(int*s,int t,int *k)
{int i; <br/>*k=0; <br/>for(i=0;i<t;i++) <br/>if(s[*k]<s[i])*k=i; <br/>return _______(这个地方答案是0,可是我填的是*k,如果是0的话那么返回的值不就都是0了吗? <br/>}
main()
{int a[10]={876,675,896,101,301,401,980,432,456,777},k;
clrscr();
fun(a,10,&k);
printf("%d",%d\n",k,a[k]);
}
展开
 我来答
匿名用户
2013-12-10
展开全部
是0,不是返回的都是0,而是就返回一次,最后都执行完成后返回0,*k最后存的就是最大的元素的下标.
这个函数按道理来说没有返回值也行(void).所以填"0"
匿名用户
2013-12-10
展开全部
我分析了一下,不应该返回*k,因为在for循环当中的if语句中,是用"<"来判断循环的,每次都是把最小的数给了*k,而到循环结束后,其实最大的数就是i=0的那个数,因此返回的是0,这只是我在纸上演算的,由于我电脑上的TC没了,就没去编译,你可以编译的去看下,我在建议你在做程序题的时候能多动动笔,或许画画就出来了呵呵……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式