因为在c语言中,80 <= x < 90表示的并不是你认为的80 ≤ x < 90(c语言用80 <= x && x < 90表示),而是(80 <= x) < 90,这里并不是要判断x是否小于90,而是80<=x这个表达式的值是否小于90!!!因为无论x值为多少,80 <= x都只有0和1两种值,而0和1都<90,所以,80 <= x < 90恒成立,只要程序执行到这条条件分支,就会执行对应的执行语句,接着退出条件判断!
所以图一的条件分支其实等价于if(x >= 90) printf("A"); else printf("B");