c - 关于 C 中 scanf() 的问题

标签 c function scanf

下面语句的确切含义是什么,

if (scanf("%lf", &x) != 1)

我尝试输入数字,条件为true,否则当我输入非数字字符如'a'时,条件为false

你能告诉我更多关于 scanf() 和值 1 的信息吗?

最佳答案

我系统上的 scanf() 文档指出:

These functions return the number of input items successfully matched and assigned, which can be fewer than provided for, or even zero in the event of an early matching failure.

因此,如果找到 float ,则 scanf() 的结果为 1,否则为 0。 if 语句的主体如果返回值不是 (!=) 则执行。

关于c - 关于 C 中 scanf() 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5799261/

相关文章:

javascript - 使用字符串作为函数调用范围

C:将二维数组分配给另一个数组

c - 获取输入并拆分为重复的标记

c - 两个带有 .h 文件的链接 .c 文件,不能传递对全局 double[][] 的引用

c - C 中的二进制文件

Python函数读取长度不起作用

c - strcmp 调用不断使我的程序崩溃

python - 如何将 FANN 保存为字符串?

c - 赋值操作真的会返回一些东西吗?

c - 使用空指针交换数组中的元素