搜索
首页 电脑/网络 程序设计 C/C++

C语言 c - 1 >= d ) == 1

  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 C) 4 D) 编译时有错, 无结果 答案是B,但是我算出来是A,哪里不对了?。
  

全部回答

2008-01-08

0 0
这个题刚才解释过了。 关键在于a>b>c的意思并不是数学中的那个意思。 而是先算a>b,结果为true。在把true(看成1)跟c比。结果为false。

2008-01-08

81 0
  if(a>b>c)这个判断过程是a>b为真,值为1,再与c比较,即1>c,c=3,所以,1>3为假,第一个判断总中结果为假,不执行printf ( " %d \n ", d ) 。
   第二个判断else if ( ( c - 1 >= d ) == 1 )为真,执行printf ( " %d \n " , d + 1 ) ;因为d=2,所以d+1=3,输出结果为3。
  

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
程序设计
C/C++
VB
数据库
汇编语言
JAVA相关
VC++
C#/.NET
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报