| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4511 人关注过本帖
标题:在C语言中,if括号后面的语句可以是表达式吗?_百度知道
只看楼主 加入收藏
jack123son
Rank: 1
等 级:新手上路
帖 子:30
专家分:5
注 册:2011-10-8
结帖率:30%
收藏
已结贴  问题点数:5 回复次数:10 
在C语言中,if括号后面的语句可以是表达式吗?_百度知道
#include "stdio.h"
main()
{
  if(2*2==5<2*2==4)
    printf("T");
  else
    printf("F");
}
结果是F
这个程序该怎么解释 啊?
搜索更多相关主题的帖子: 百度知道 include 表达式 C语言 
2011-12-13 11:30
半个灵魂
Rank: 2
等 级:论坛游民
帖 子:13
专家分:11
注 册:2011-11-17
收藏
得分:1 
这就是一个运算优先级的问题。
2011-12-13 12:18
nangua520
Rank: 2
等 级:论坛游民
帖 子:7
专家分:24
注 册:2011-5-17
收藏
得分:1 
可以是表达式啊、、、不过你if()内的判断条件貌似有点复杂。。 0 0.
2011-12-13 12:19
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:1 
*最优,所以先计算2*2,化简为4==5<4==4
然后是<,化简为4==0==4
所以为0,输出F

酱油实习生
2011-12-13 12:47
cqm9266
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:174
专家分:186
注 册:2011-10-28
收藏
得分:1 
如果符合()里面的就执行 ()后面的

没病的人说有病的人有病,有病的人说没病的人有病。到底是谁有病?
2011-12-13 12:54
easonchanel
Rank: 2
等 级:论坛游民
帖 子:18
专家分:41
注 册:2011-8-23
收藏
得分:1 
这是运算优先级问题,当2*2==5这个判断为false时,后面就不会再执行,整个if的()中的表达式为false,所以下面就不会打印T,而是打印F
2011-12-14 21:42
唏嘘草
Rank: 2
等 级:论坛游民
帖 子:128
专家分:93
注 册:2011-6-4
收藏
得分:1 
if括号里的应当是个布尔值,表达式也是有值的!有值的话,只要不为0或者空,就是1
2011-12-14 22:18
F_Andriy7
Rank: 1
等 级:新手上路
帖 子:12
专家分:3
注 册:2011-11-1
收藏
得分:1 
括号里面的运算优先级要搞清楚,为真就等于1,为假就等于0
2011-12-15 16:40
善水盈渊
Rank: 2
等 级:论坛游民
帖 子:39
专家分:29
注 册:2011-11-16
收藏
得分:1 
四楼正解吧!
2011-12-15 22:32
q1304622669
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2011-12-16
收藏
得分:1 
*号的优先级(3级)大于>号的优先级(6级),大于==(好像是8级吧)的优先级,是这个问题的关键……结果if语句内部为假
2011-12-16 01:53
快速回复:在C语言中,if括号后面的语句可以是表达式吗?_百度知道
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017908 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved