亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

幫忙看一下下面的代碼 大一的對void的怎么返回的不是很了解

幫忙看一下下面的代碼 大一的對void的怎么返回的不是很了解

C
qq_叨擾_0 2016-12-16 17:53:22
10個數找最大值,并標出是第幾號#include <stdio.h>void fun(int *s, int t , int *k);int main( ){int i;? ? int a[10], k ;? ? for( i=0; i<10; i++)? ? ? ? scanf("%d",&a[i]);? ? fun(a,10,&k);? ? printf("%d\n",k);? ? printf("%d",a[k]);? ? return 0;}void fun(int *s, int t , int *k){? ? int i,min=0;? ? min=s[0];? ? for(i=1; i<t-1; i++)? ? ? ? {? ? ? ? ? ? if(s[i]<=min)? ? ? ? ? ? min=s[i];? ? ? ? }? ? for(i=0; i<t; i++)? ? {? ? ? ? ?if(s[i]==min)? ? ? ? ?*k=i;? ? }? ? return ;}就是min=s[i];為什么就可以返回主函數。。。。。。。。。我隨便刪了一個東西就打對了 提交oj(* ̄▽ ̄)y也對了 很迷茫啊
查看完整描述

3 回答

?
望遠

TA貢獻1017條經驗 獲得超1032個贊

void?fun(int?*s,?int?t?,?int?*k)//這里int?*k使用了指針地址傳遞,當函數調用結束后用*k保存最小值的下標,所以可以直接定義為void類型
for(i=1;?i<t-1;?i++)
????????{
????????????if(s[i]<=min)
????????????min=s[i];
????????}
//這個for循環是尋找數組中的最小值,并將最小值保存在min中
for(i=0;?i<t;?i++)
????{
?????????if(s[i]==min)
?????????*k=i;
????}
//這個for循環是通過變量min找到對應的下標,并保存在*k中
//兩個for循環可以統一寫成一個
*k=0;
for(i=1;?i<t-1;?i++)
????????{
????????????if(s[i]<=min)
????????????
????????????{
????????????????min=s[i];
????????????????*k=i;
?????????????}
????????}


查看完整回答
反對 回復 2016-12-16
?
qq_叨擾_0

TA貢獻1條經驗 獲得超0個贊

是 最小值


查看完整回答
反對 回復 2016-12-16
  • qq_no_8
    qq_no_8
    min=s[i]執行完以后,繼續執行下面的for循環, 最后返回執行語句,返回一個值到k, 然后執行fun函數下面的printf語句
  • 3 回答
  • 0 關注
  • 1300 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號