C++ if语句的条件,可不可以用,代替&&

C++ if语句的 条件,如果有好几个,可不可以用 逗号 代替 &&(and逻辑)
他们是完全一样的还是说在哪里有什么分别
谢谢

逗号用于分割逗号表达式的各表达式,不能起到逻辑运算的作用,比如:
1+2,3+4,5+6这就是一个逗号表达式,它的值是最后一个式子的运算结果11,前面几个式子的取值被忽略了,这和与运算是两个概念、两个语法、两种用途。
if ( a>b && a>c ) ...这个条件是a大于b而且还大于c才满足条件
if ( a>b , a>c ) ...这个条件是只要a大于c就满足条件
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-17
不能
and逻辑为二元运算符,都非0时返回1
使用最短求值,即第一个运算数为0时就不再计算第二个表达式
例如:0&&(a=b),赋值语句不会执行
逗号为二元运算符,从右到左依次计算各表达式,并返回第一个表达式的值
所以完全没关系
1,0返回是1 而1&&0返回是0
希望能帮到你
第2个回答  2014-03-17
可以的,但是需要你自己重定义
第3个回答  2014-03-17
&&是返回逻辑与的结果,是返回最后一个
第4个回答  2014-03-17
试试追答

逗号表达式能返回bool么?

相似回答