[問題] 新手的結構問題

看板C_and_CPP作者 (WeARE X 勢在必行)時間15年前 (2010/04/27 11:47), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 編譯能過,但是馬上就問我要不要回報問題… 希望得到的正確結果: 最高分是Pata=>96分 程式跑出來的錯誤結果: 要不要回報問題 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) DevC++ 有問題的code: (請善用置底文標色功能) #include <stdio.h> #include <stdlib.h> struct data{ char name[10]; int math; }stu[5]={{"helo",90},{"X",50},{"Toshi",80},{"Res",80},{"Pata",96}}; int best(struct data ary[]); int main(int argc, char *argv[]) { int i,idx; idx=best(stu); printf("最高分是%s=>%d分\n",(stu+idx)->name,(stu+idx)->math); system("PAUSE"); return 0; } int best(struct data ary[]){ int i,index,m; m=ary->math; // printf("m=%d",m); //test for(i=0;i<5;i++){ if( (ary+i)->math > m ){ m=(ary+i)->math; index=i; } } return index; } 補充說明: 麻煩大家了,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.230.39.229

04/27 11:59, , 1F
你這問題在這支程式把 90 改成 100 時才會出現
04/27 11:59, 1F

04/27 12:01, , 2F
best()一開始設定了m拿第一個當最大值, 還要記得把index
04/27 12:01, 2F

04/27 12:01, , 3F
一起存下第一個啊, 不然極值在第一個的時候, index就不
04/27 12:01, 3F

04/27 12:02, , 4F
知道會return什麼鬼了@_@"
04/27 12:02, 4F

04/27 13:23, , 5F
感謝,原來是index沒設定好, 謝謝VictorTom大:>
04/27 13:23, 5F
文章代碼(AID): #1BrbuqHA (C_and_CPP)