×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
#8034: [求助]:為何會RE (C語言)
jknumb
(jknumb)
學校 : 國立清華大學
編號 : 32170
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [111.246.6.45]
最後登入時間 :
2013-08-03 18:04:20
a149.
乘乘樂
| From: [111.253.47.26] | 發表日期: 2013-08-03 12:35
看完以前的討論還是不知道問題在哪
自己測試用題目的那三個測資答案正確
但就是一直RE
RE (SIGSEGV)
執行時期錯誤
記憶體區段錯誤!
Segmentation fault
不知道是哪邊呼叫到超出陣列範圍的東西!?
#include<stdio.h>
#define MAX 20000
char num[MAX][100] = {0};
int len[MAX] = {0};
int ans[MAX] = {0};
int main(void)
{
char x;
int n;
int i, j;
for(i = 0; i < MAX; i++){
ans[i] = 1;
}
scanf("%d", &n);
getc(stdin);
for(i = 0; i < n; i++){
j = 0;
while((x = getc(stdin)) != '\n'){
num[i][j] = x;
j++;
}
len[i] = j;
}
for(i = 0; i < n; i++){
for(j = 0; j < len[i]; j++){
ans[i] = ans[i] * (num[i][j] - 48);
}
}
for(i = 0; i < n; i++){
printf("%d\n", ans[i]);
}
return 0;
}