看板 C_and_CPP 關於我們 聯絡資訊
事情是這樣的, 我打了一些程式碼, 主要是輸入5位同學的的成績, 分別是英文和數學, 然後從中找出英文和數學的最高分數, 當我要compiler的時候, 也就是輸入成績到第五名的時候就跳出"0xc0000142", 為什麼會這樣?? ================================================= #define NUMBER 5 //傳回元素個數no的陣列vc之最大值 int max_of(int vc[], int no) { int i; int max = vc[0]; for(i = 1; i < no; i++) if(vc[i] > max) max = vc[i]; return max; } int main(void) { int i; int eng[NUMBER]; //英文成績 int mat[NUMBER]; //數學成績 int max_e,max_m; //英文和數學最高分 printf("請輸入%d名學生的成績。\n", NUMBER); for(i = 0; i < NUMBER; i++){ printf("[%d]英文:", i+1); scanf("%d", &eng[i]); printf(" 數學:"); scanf("%d", &mat[i]); } max_e = max_of(eng, NUMBER); //英文最高分 max_m = max_of(mat, NUMBER); //數學最高分 printf("英文最高分=%d\n", max_e); printf("數學最高分=%d\n", max_m); system("pause"); return 0; } ========================================== 順帶一提,我覺得不是程式碼的關係, 但就是不知道為什麼執行會跑出"0xc0000142"?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.131.120
lwecloud:板規二...請附上你的程式碼 08/10 18:25
※ 編輯: shile775 來自: 58.115.131.120 (08/10 18:42)
PkmX:scanf("%d", &eng[i]); 08/10 18:47
firejox:存取超過array的範圍... 08/10 18:50
PkmX:主要就是scanf位置給錯吧 其它部份掃過一次大概沒啥問題... 08/10 18:52
※ 編輯: shile775 來自: 58.115.131.120 (08/10 18:54) 謝謝大大的提醒,我改了剛剛你說的那個部分, 不過還是卡在輸入第5個成績那裡,也是跑出"0xc0000142" ※ 編輯: shile775 來自: 58.115.131.120 (08/10 18:58) ※ 編輯: shile775 來自: 58.115.131.120 (08/10 18:58)
TsinTa:也許不是程式碼的問題...因為我執行過是ok的... 08/10 19:46
KTFGU:dev-c++執行OK+1 08/10 19:48
LPH66:0xC0000142 好像是系統問題...原PO重開機試試? 08/10 20:16
VictorTom:我有點confuse, 是compile時出錯, 還是輸入第五個數時? 08/10 23:30
VictorTom:不過用VC2005測了一下, 沒看到問題....@_@" 08/10 23:32