我想要实现的是使用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吗?
谢谢!