读书人

这样合法吗?解决思路

发布时间: 2012-04-05 12:42:40 作者: rapoo

这样合法吗?

C/C++ code
#include <stdio.h>int main(void){    int x = 20;    printf("%d ", 0<x<20);    printf("%d\n", 0 < x && x < 20);        return 0;}


0 < x < 20 合符规范吗 ? 怎么不报错 结果是 1 0 ?

[解决办法]
0<x为真(1)
然后1<20为真(1)
[解决办法]
0<x是1
所以1<20是1
0 < x && x < 20是0
所以连载一起就是10
[解决办法]
可以这么写,只不过意思就不一样了
变成 先判断0《x, 然后利用这个表达式的值,
1 or 0 和《20进行判断
所以答案是1
[解决办法]
探讨
引用:
0<x为真(1)
然后1<20为真(1)

为什么不是后面先比较呢?

读书人网 >C语言

热点推荐