本人现在正自学C语言基础课程,到了自加这里有点疑惑,下面是代码:
#include<stdio.h>
main ()
{
int x, y, z, result;
x = y = z = 0;
result = ++y&&z++|| ++x ;
printf("x=%d,y=%d,z=%d,result=%d\n",x,y,z,result);
return 0;
}
以及
#include<stdio.h>
main ()
{
int x, y, z, result;
x = y = z = 0;
result = ++x || ++y&&z++;
printf("x=%d,y=%d,z=%d,result=%d\n",x,y,z,result);
return 0;
}
这两个程序中,最后打印出来的x,y,z值不一样。请问这种问题的计算顺序是怎样的,该怎么心算x,y,z的值?谢谢! |
|