作者shile775 (笑看人生)
站內C_and_CPP
標題[問題] 執行程式檔
時間Wed Aug 10 18:21:24 2011
事情是這樣的,
我打了一些程式碼,
主要是輸入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