[討論] qsort 執行會當掉

看板C_and_CPP (C/C++)作者 (LONGTED)時間11年前 (2014/08/25 03:33), 編輯推噓1(105)
留言6則, 5人參與, 最新討論串1/1
請問一下 為什麼我的qsort 會當掉 底下是我片段的程式碼 有誰可以跟我說一下 #include <iostream> using namespace std; #define MAX_SIZE 512 typedef struct { int start_metting_time; int finsh_meeting_time; int diff; }metting; int compare(const void *a,const void *b) { metting *m_a=(metting *)a;//當在這一行 metting *m_b=(metting *)b; if(m_a->diff>m_b->diff) return 1; return -1; } bool check_during_time(bool *check_meetig_room,metting m) { for(int i=m.start_metting_time;i<=m.finsh_meeting_time;i++) { if(check_meetig_room[i]==true) return true; } return false; } int _tmain(int argc, _TCHAR* argv[]) { int case_count; cin>>case_count; while(case_count--) { int start_time=0,finsh_time,metting_count=0; bool take_time[MAX_SIZE]={false}; metting m[MAX_SIZE]; while(cin>>start_time>>finsh_time) { if(start_time==0 && finsh_time==0) break; if(start_time<finsh_time) { m[metting_count].start_metting_time=start_time; m[metting_count].finsh_meeting_time=finsh_time; m[metting_count].diff=finsh_time-start_time; metting_count++; } } qsort(m,sizeof(m),sizeof(m[0]),compare); -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.167.161.246 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1408908832.A.F6B.html

08/25 06:41, , 1F
qsort 的第二個參數是 "number of members" 不是整個陣列的
08/25 06:41, 1F

08/25 06:42, , 2F
byte 數
08/25 06:42, 2F

08/25 12:42, , 3F
所以要怎麼改
08/25 12:42, 3F

08/25 19:06, , 4F
陣列長度阿
08/25 19:06, 4F

08/28 19:16, , 5F
你問問看油條?
08/28 19:16, 5F

08/30 01:35, , 6F
你問問看 油條 阿祥 jeason 水哥, 他們應該會.
08/30 01:35, 6F
文章代碼(AID): #1J-ZuWzh (C_and_CPP)
文章代碼(AID): #1J-ZuWzh (C_and_CPP)