prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 3.13

Q我需要检查一个数字是否在另外两个数字之间。为什么不行?

if(a < b < c)
的函数调用是否会工作?


A关系运算符,例如<,都是二元的;它们比较两个操作数并返回真或假(1 或 0)的结果。因此,表达式a < b < c比较ab,然后检查结果 1 或 0 是否小于c。(为了更清楚地看到这一点,想象一下它被写成(a < b) < c,因为编译器就是这样解释它的。)要检查一个数字是否在另外两个数字之间,请使用如下代码

	if(a < b && b < c)

参考文献:K&R1 Sec. 2.6 p. 38
K&R2 Sec. 2.6 pp. 41-2
ISO Sec. 6.3.8, Sec. 6.3.9
H&S Secs. 7.6.4,7.6.5 pp. 207-210


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管