使用scanf()

时间:2018-03-21 03:21:35

标签: c scanf stdin

我想要实现的是使用scanf从stdin中精确解析2个元素,否则打印错误。

我试过

int read = scanf("%d %d", &width, &height);
if(read > 2 || read == EOF || read < 2)
{
    printf("Invalid inputs\n");
    exit(0);
}

但是在某些情况下这不会打印错误。虽然我输入了3个元素,但它只读取了stdin的前2个元素,没有出现错误信息。如果元素数量大于2,我该怎么办?

也有人可以告诉我EOF对scanf()的意义吗?对于实际读取文件而不是标准输入的函数,EOF不是吗?我们能够在scanf()中使用EOF吗?

谢谢!

0 个答案:

没有答案