c++中或与非的逻辑先后顺序可以通过括号来改变吗。

如题所述

第1个回答  2016-04-19
可以的, 都是这样解决, 如果要提高可读性,可用分步判断的方式来实现追问

大神怎么来分步判断

追答

比如MFC的对话框程序中,屏蔽按RETURN 和 ESC键退出的代码

if ((pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE) || (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN))
 {
  return 1;
 } 
 //可以分成两次判断 ,这样可读性要高些, 如果判断的条件越多,越容易混淆
if (pMsg->message == WM_KEYDOWN)
 {
  if (pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE)
  {
   return 1;
  }
 }

第2个回答  推荐于2017-10-23
(1)先(括号)内层,后(括号)外层。解释:有扩号时,最内层的括号中的东西先算,再一层层向外。(2)先函数,后运算。解释:式中有函数,例如sqrt(),fabs(),sin()之类,先算函数。(3)先算术,后关系,再逻辑。解释:逻辑表达式中,混有算术运算,要先算算术(加减乘除,函数)运算,再算关系(大小,等不等)运算。最后算逻辑(或与非),得到真假。(4)先乘除,后加减。解释:同算术一样,先做乘除,后做加减。逻辑运算符“与”又叫逻辑乘,逻辑运算符“或”,又叫逻辑加,按先乘除,后加减,“与”比“或”优先。(5)先左,后右解释:同级运算,先做左边的,后做右边的。(6)搞不清,加括号。本回答被网友采纳
相似回答