ashtar 发表于 2020-6-6 16:54:38

关于S1E15中问题

代码 scanf("%d", &ch) == 1 && ch >= 0 究竟怎么理解,“==”不是等号嘛?如果说是输入一个不为1的数的话,不就是不满足条件了吗?

qiuyouzhi 发表于 2020-6-6 16:57:57

你去仔细读scanf的函数快查:
返回值:

如果函数调用成功,返回值是成功获取并填充到附加参数中的个数。

如果函数调用失败,返回值小于附加参数的个数(甚至是 0)。

如果读取到标准输入流的结尾处,则返回 EOF。

geen 发表于 2020-6-6 22:17:02

“scanf()==1”里左侧的scanf()是指的scanf()函数的返回值,而不是传给 &ch 的值; “scanf()==1”的意思是scanf()函数"成功获取并填充到附加参数中的个数"是1个。
页: [1]
查看完整版本: 关于S1E15中问题