社区
C语言
帖子详情
请教:IF 语句中多条件判断的顺序
非完美主义者
2010-01-17 03:35:15
if ( conditionA && conditionB ) 和 if ( conditionA || conditionB ),是先判断conditionA还是conditionB ?跟编译器有没有关系?
...全文
6563
9
打赏
收藏
请教:IF 语句中多条件判断的顺序
if ( conditionA && conditionB ) 和 if ( conditionA || conditionB ),是先判断conditionA还是conditionB ?跟编译器有没有关系?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2010-01-18
打赏
举报
回复
VC6调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
不知名小ITer
2010-01-18
打赏
举报
回复
[Quote=引用楼主 qyshooter 的回复:]
if ( conditionA && conditionB ) 和 if ( conditionA || conditionB ),是先判断conditionA还是conditionB ?跟编译器有没有关系?
[/Quote]
和编译器无关...先判断conditionA...
如果conditionA是false的话,那么if ( conditionA && conditionB )就不用判断了,直接为false...
如果conditionA是ture的话,那么if ( conditionA || conditionB )就不用判断...直接是ture...
这样就会提高程序的效率...
记得好像是<<TCPL>>里面提到过的...
jernymy
2010-01-17
打赏
举报
回复
[Quote=引用 1 楼 stardust20 的回复:]
先判断conditionA再判断conditionB和编译器无关
不过对于&&只要conditionA为假conditionB就不判断了
对于||只要conditionA为真conditionB就不判断了
因为结果已经知道了
[/Quote]
顶
zhangyinze123
2010-01-17
打赏
举报
回复
[Quote=引用 1 楼 stardust20 的回复:]
先判断conditionA再判断conditionB和编译器无关
不过对于&&只要conditionA为假conditionB就不判断了
对于||只要conditionA为真conditionB就不判断了
因为结果已经知道了
[/Quote]
顶
likee003
2010-01-17
打赏
举报
回复
先判断conditionA再判断conditionB和编译器无关
不过对于&&只要conditionA为假conditionB就不判断了
对于||只要conditionA为真conditionB就不判断了
看一下编译原理就知道了。
Randyqiu
2010-01-17
打赏
举报
回复
1L和3L解释都很好,我以为。
sagegz
2010-01-17
打赏
举报
回复
先A再B,记住短路原则就行.
suchx
2010-01-17
打赏
举报
回复
C语言是短路求值的,都是先判断第一个表达式,如果能求出结果,后面的判断就不会执行了。是先判断条件A,再判断条件B。
pang123hui
2010-01-17
打赏
举报
回复
先conditionA后conditionB,一般和编译器没有关系
不过要注意的是,对于&&只要conditionA为假conditionB就不进行判断了
对于||只要conditionA为真conditionB就不进行判断了
stardust20
2010-01-17
打赏
举报
回复
先判断conditionA再判断conditionB和编译器无关
不过对于&&只要conditionA为假conditionB就不判断了
对于||只要conditionA为真conditionB就不判断了
因为结果已经知道了
用C++制作一个简易计算器.docx
设计一个简易的计算器
VB 计算机二级 习题
VB 计算机二级 习题 适用于VB初学并准备考VB计算机二级的人们
很简易windows版批处理
自制windows版批处理小工具,但愿对大家有用吧,第一次做还有很多问题多多指教!
钱能C++程序设计第二版课件,第二版例题,第一版例题习题
钱能C++程序设计第二版课件,第二版例题,第一版例题习题
if-else-if
语句
和多个并列的if
语句
的区别
对于if-else-if
语句
和多个并列的if
语句
的区别,我就拿实例来给大家看看吧。 例题:输入三个数a,b,c,按要求由小到大的
顺序
输出? 解析:我们假设a,b,c,已经是由小到大的
顺序
排列的,我们需要将这三个数每2个比较一下大小关系。 如果a>b 则将a和b的位置互换 如果a>c 则将a和c的位置互换 如果b>c 则将b和c的位置互换 其中要注意...
C语言
69,742
社区成员
243,239
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章