C中的错误处理?如何处理scanf和非法字符?

时间:2012-03-15 16:44:57

标签: c unix

我正在用C语言编写程序,并且为了进行错误处理,它会告诉您在扫描时查找非法字符。换句话说,查找不是整数的字符。 它应该显示适当的错误消息并终止程序。

我对如何寻找那个非法字符或注意到它不是一个整数感到有些困惑。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

scanf()返回成功参数的数量。如果你这样做:

int ivar, return_val;
return_val = scanf("%i", &ivar);

return_val应为1,因为1个参数(ivar)。检查用户输入:

if (return_val == 1) {
    // right input
} else {
    // wrong input
}