C语言编程中短路现象的原理是什么??

如题所述

C语言中的短路现象出现与逻辑运算中,包括逻辑与&&和逻辑或||。
1 逻辑与中的短路。
逻辑与的运算符为&&, 其运算规则为,对于
expr1 && expr2
只有当expr1和expr2同时为真(1)时,结果才为真(1)。
可以得到,如果expr1为假,那么无论expr2值是什么,结果都是假。
这种情况下,expr2的值就不重要了,于是当expr1为0(假)时,后续的expr2不会加入计算,而是被忽略,这就是逻辑与的短路现象。

2 逻辑或中的短路。
逻辑或的运算符为||, 其运算规则为,对于
expr1 || expr2
只有当expr1和expr2同时为假(0)时,结果才为假(0)。
可以得到,如果expr1为真,那么无论expr2值是什么,结果都是真。
这种情况下,expr2的值就不重要了,于是当expr1为1(真)时,后续的expr2不会加入计算,而是被忽略,这就是逻辑或的短路现象。

综上,短路现象的出现,其实是和各自的运算规则相关的,如果第一个运算符已经可以确定运算结果,那么第二个运算符就会被忽略,这样的设置,可以提高系统运行的效率。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-01
&&前面是0时,&&符号后面的不计算.||前面不是0时,||号后面的不计算.这就是C语言的短路现象.其实就类似于数学0*x/y,后面的x/y根本没有必要计算本回答被网友采纳
相似回答