这个z不是--z为什么结果会是1,是运算符优先级我想错了?
#include <iostream >
using namespace std;
int main( )
{
int x=0,y=1,z=1,c;
c=++x||--y&&!--z;
cout<<x<<y<<z<<c;
}
这个z不是--z为什么结果会是1,是运算符优先级我想错了?
#include <iostream >
using namespace std;
int main( )
{
int x=0,y=1,z=1,c;
c=++x||--y&&!--z;
cout<<x<<y<<z<<c;
}
c = ++x || --y && !--z; 相当于是:c = (++x) || (--y && !(--z)); ++或者--在前会先进行自增或者自减运算,所以在 ++x = 1 为真,|| 后边不会再执行了,所以结果是 x=1, y=1, z=1, c=1