私はこれに1時間以上苦労してきましたが、なぜこのエラーが発生するのかわかりません。
int inp, count;
char numBuff[21];
count = 0;
while((inp=getchar()) != EOF) { // get Value (last field)
printf("input is '%c'\n", inp);
if (inp == '\n') break;
if (inp == ' ') {
continue;
}
numBuff[count++] = inp;
printf("go back through loop\n");
}
printf("Out!");
numBuff[count] = '\0';
1013 を入力すると、次のようになります
input is '1'
go back through loop
input is '0'
go back through loop
input is '1'
go back through loop
input is '3'
go back through loop
input is '
'
Segmentation fault (core dumped)
これから収集できる唯一のことは、 inp == '\n' かどうかを確認すると失敗することですが、なぜですか? inp == '\n' のチェックの直後にループ printf を介して戻るように移動しましたが、そこにも到達しなかったため、そこで発生していることがわかります。