📜  逻辑运算符的操作数顺序

📅  最后修改于: 2021-05-26 01:12:11             🧑  作者: Mango

逻辑运算符&&,||的操作数顺序在C / C++中很重要。

在数学中,逻辑“与”,“或”等运算是可交换的。即使我们交换运算符的RHS和LHS,结果也不会改变。

在C / C++中(即使其他语言也可以),即使这些运算符是可交换的,它们的顺序也很关键。例如,请参见以下代码,

// Traverse every alternative node
while( pTemp && pTemp->Next )
{
   // Jump over to next node
   pTemp = pTemp->Next->Next;
}

第一部分pTemp将针对NULL进行评估,然后是pTemp-> Next 。如果将pTemp-> Next放在首位,则指针pTemp将被取消引用,并且当pTemp为NULL时将出现运行时错误。

必须遵守该命令。实际上,它有助于生成有效的代码。当指针pTemp为NULL时,由于AND(&&)表达式的结果保证为0,因此不会评估第二部分。

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。