简单的题目来看一下
main() {
int x=1,y=1,z;
z=1||++x&&y--;
printf("\n%d,%d,%d",x,y,z);
}
输出:1,1,1
为什么x,y的值不变??
按优先级运算的话,应该是先运算&&,那么无论是x 或者是y ,值都应该改变了啊?
2007-04-17 13:28
2007-04-17 13:35
2007-04-17 14:30
哦,我又忘记了 = 的优先级别了,谢谢了
2007-04-17 16:22