有下定义 int x=5,y;y=x--&&(++x)||x--;求X,y的值

来源:百度知道 编辑:UC知道 时间:2024/05/26 16:35:38
自减了两次应该X的值为4了啊 y的值为1 但是运行结果是 5,1

y=x--&&(++x)||x--;
x--&&(++x) = 5
5>0 “||”左边为true "||"运算符不继续执行了 所以x的值为5

这题是看运算符的优先级的,不知道你是在学什么,学语言的这个应该是知道的。“&&”的优先级高于"||"所以先执行前面的“()”的优先最高所以先加 x=6,x--=6,所以y=6&&6||x--,y=1||6,y=1,前面最后x--,在运算结束后6--,故等于5