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

如题所述

第1个回答  2019-03-07
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不会加入计算,而是被忽略,这就是逻辑或的短路现象。
综上,短路现象的出现,其实是和各自的运算规则相关的,如果第一个运算符已经可以确定运算结果,那么第二个运算符就会被忽略,这样的设置,可以提高系统运行的效率。
相似回答