c - 检测 scanf 何时没有输入

标签 c scanf

我是 C 的新手,经过一些研究后无法找到答案。

我有一个 while 循环,如果我没有向 scanf() 输入任何内容(按回车键),我想终止它。以下不起作用...

int data;
while(1){
    scanf("%d", &data);
    if data == NULL{
        break;
    }
}

最佳答案

使用 scanf 的返回值:

int data;
while (1) {
    int n = scanf("%d", &data);
    if (n != 1)
        break;
    // ...
}

关于c - 检测 scanf 何时没有输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20412350/

相关文章:

C 错误 : expected expression before '{' token

c - 模拟条件

c - 如何改进以下检查数字是否为素数的程序的 C 实现?

c - 如何分别将 struct timeval 转换为两个 32 位变量?

c - scanf("%number[^\n], array[N].struct) 的字符串长度

c - 程序在 scanf() 之后不执行 gets(),即使使用 fflush(stdin)

c - 当用户输入不正确的值以避免程序崩溃时,C 中的数据验证

c++ - 将字符串文字分配给指向 const char 的指针

c - fscanf 无法工作 - 程序正在抛出错误

c - 使用 sscanf() 解析 Json 消息