我發現當陣列大小不同時,測試與送出答案出現不同結果。
於是想請問大家為什麼會這樣?
以下是我的程式碼
當input[8]時,送出解答為AC,但測試時卻會出現「記憶體區段錯誤! Segmentation fault (core dumped)」
當input[7],送出解答為NA(系統呼叫了 abort 函式!),測試時卻為AC
我自己是覺得題目字元數有7個,應該設input[8]才對(含最後的'\0'字元)
謝謝大家!
#include <stdio.h>
int main() {
char input[8];
int i;
int a;
int b;
int c;
insert(input);
for(i=0;i<6;i++)
{
a=input[i];
b=input[i+1];
if(a<b||a==b)
c=b-a;
else
c=a-b;
printf("%d",c);
}
return 0;
}
void insert(char input[])
{
int i=0;
while(1)
{
scanf("%c",&input[i]);
if(input[i]=='\n')
break;
i++;
}
}