分类：电脑/网络-程序设计-C/C++
问题：C语言c
main ( )   { int a = 5,  b = 4,  c = 3,  d = 2 ;if  (a > b > c ) printf ( " %d \n ", d ) ;else if  ( ( c - 1 >= d ) == 1 )printf ( " %d \n " , d + 1 ) ;else printf ( " %d \n " , d + 2 ) ;}A) 2           B) 3           ) 4           D) 编译时有错, 无结果main ( )   { int a = 5,  b = 4,  c = 3,  d = 2 ;if  (a > b > c ) printf ( " %d \n ", d ) ;else if  ( ( c - 1 >= d ) == 1 )printf ( " %d \n " , d + 1 ) ;else printf ( " %d \n " , d + 2 ) ;}A) 2           B) 3           ) 4           D) 编译时有错, 无结果答案是B,但是我算出来是A,哪里不对了?
回答：这个题刚才解释过了。

关键在于a>b>c的意思并不是数学中的那个意思。

而是先算a>b，结果为true。在把true（看成1）跟c比。结果为false。