非法指令(核心转储)错误:在while循环中扫描到EOF

时间:2018-06-09 21:36:36

标签: c error-handling scanf eof

所以我在C中编写了一个函数,直到EOF

才输入
while (scanf(" %c", &input) != EOF) {
     // do stuff
}

我尝试使用以下测试:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
10 20 30 40 50 _66_ 15 66bb

作为该计划的输入。它实际上运行程序,但最后它完成了以下错误:Illegal instruction (core dumped)

其他测试工作正常,经过快速检查后我发现问题在最后50之后开始(如果我只使用数字直到50 - 它工作正常)。如何解决这个问题?

0 个答案:

没有答案