能力值:
( LV2,RANK:10 )
|
-
-
2 楼
补充一小问题。就是如果&&是逻辑运算符 为什么三个条件都能成立支持断,而|| 或运算符只能2个跳转?按照&&是运算符的话 跟||逻辑运算符 是相同的 只能2个操作数啊?
|
能力值:
( LV15,RANK:1473 )
|
-
-
3 楼
你这是操作符的优先级问题,具体谁先谁后我记不清了,可以查查相关资料,你这里就是!=优先于&&
后面补充的问题:在C语言里,&&是所有计算结果都为真最终结果才为真,所以每个条件都需要计算;而||是只要有一个计算结果为真则结果为真,所以计算时如果前面有一个是真就直接跳出了,后面的就直接不计算了
举个例子,
i=0;
if(i++>0)||(i++>0)||(i++>0)||(i++>0))printf(i);
这里结果应该是1
i=0;
if(i++>0)&&(i++>0)&&(i++>0)&&(i++>0))printf(i);
这里结果应该是4
(谁有运行环境帮我检测一下,不知道对不对)
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
哦哦,前辈你是指在OD 里面 && || 两个都是逻辑运算符。只不过&& 与运算无论多少条件 都要计算完,而|| 只要其中一个真 就跳出不计算后面了?,好像真的是这样。 谢谢解答
|
能力值:
(RANK:270 )
|
-
-
5 楼
举个例子,
i=0;
if(i++>0)||(i++>0)||(i++>0)||(i++>0))printf(i);
这里结果应该是1
i=0;
if(i++>0)&&(i++>0)&&(i++>0)&&(i++>0))printf(i);
这里结果应该是4
这里的i++要改为++i才能得到所给的结果。
|
|
|