关于S1E15中问题
代码 scanf("%d", &ch) == 1 && ch >= 0 究竟怎么理解,“==”不是等号嘛?如果说是输入一个不为1的数的话,不就是不满足条件了吗? 你去仔细读scanf的函数快查:返回值:
如果函数调用成功,返回值是成功获取并填充到附加参数中的个数。
如果函数调用失败,返回值小于附加参数的个数(甚至是 0)。
如果读取到标准输入流的结尾处,则返回 EOF。 “scanf()==1”里左侧的scanf()是指的scanf()函数的返回值,而不是传给 &ch 的值; “scanf()==1”的意思是scanf()函数"成功获取并填充到附加参数中的个数"是1个。
页:
[1]