C是否始终评估与\u0026\u0026或||连接的所有语句
发布时间:2020-12-16 10:45:48 所属栏目:百科 来源:网络整理
导读:这里有一个非常简单的问题,但我找不到答案: 假设我有一些条件条款由几个条件组成.例如.就像是 if((a == b strcmp(string1,string)) || x = 5) 我的问题是:无论第一个结果是什么结果,所有这些陈述都会被评估,或者一旦结果明确,评估就会停止. 由于我不确定我
这里有一个非常简单的问题,但我找不到答案:
假设我有一些条件条款由几个条件组成.例如.就像是 if((a == b && strcmp(string1,string)) || x <= 5) 我的问题是:无论第一个结果是什么结果,所有这些陈述都会被评估,或者一旦结果明确,评估就会停止. 由于我不确定我的问题是否清楚,这是一个例子: if(a == 5 || b > 12 || (c = someFun()) == 3) 在这种情况下,如果a == 5,则不需要进一步检查,因为big语句的结果为TRUE,所以我们可以继续.这意味着不会评估someFun(). 是这样的吗?我知道Java在&&和和& RESP. ||和| (后者在C中无法提供),但我不知道C如何处理这个问题 解决方法
这些运算符是C(和C)中的
short-circuiting.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |