c - 在c中输入 float 时如何进行错误检查?

标签 c scanf getchar

我有一个程序提示用户输入一个非负数或字符的整数。我想提示用户输入 float 。我该怎么做?

do {
    printf("Enter a number.\n");  
} while(((scanf("%d%c", &x1, &term) != 2 || term != '\n') 
          && reset_stdin()) || x1 < 1);

int reset_stdin()
{
    while (getchar()!='\n');
    return 1;
}

最佳答案

要将 scanffloat 一起使用,只需使用 "%f" 格式说明符。

float input;
scanf("%f", &input);

关于c - 在c中输入 float 时如何进行错误检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33204619/

相关文章:

关于删除链表最后一个节点的困惑

c++ - 获取对源文件中特定函数的所有调用并生成其他文件(使用 C、C++ 预处理器或脚本)

c++ - 数据库连接对象的名称游标的历史记录是什么?

c - 使用 "core clock cycles"的 Intel CPU 上的时序代码?

C sscanf() 强制数字输入

c - 逐行填充数组(一维数组)

csv行解析,在末尾打印额外的行

c - 扫描一行数字和单词,然后将单词保留在 c 中

scanf 中的字符输入 ("%d", &value)

c - 使用 getchar 读取用户输入并创建二维矩阵