关于MPLAB X IDE 的编译器处理各种运算符的优先级的问题
if((b&0x8000)==0x8000) 中(b&0x8000)的括号是否必须加上,不同的编译系统的编译器是否处理的不一样,严格意义上 if((b&0x8000)==0x8000) 是否等效if(b&0x8000==0x8000) ,哪位高手给正解 肯定符合C语言的运算符优先级,要不然各个编译器都有自己的优先级规则,程序移植就麻烦了 楼主好好复习一下C语言的运算符优先级。 == 比 &高,在啥编译器上都是这样,绝对没有移植的问题。括号是必须的,有和没有是不同的语义。 从 gcc 来的,你先核对一下 C 语言规范。
页:
[1]