大学C语言书上的一个题
区分不清楚
请教高手~!
#include
main()
{
int a=4,b=8,c=5;
int d1,d2,d3,d4;
d1=(ab--);
printf("d1=%d,a=%d,b=%d,c=%d\n"",d,a,b,c);
d2=(a>b)&&(++a==5)||(c>b--);
printf("d2=%d,a=%d,b=%d,c=%d\n"",d,a,b,c);
d3=(ab--);
printf("d3=%d,a=%d,b=%d,c=%d\n"",d,a,b,c);
d4=(a>b)&&(++a==5)&&(c>b--);
printf("d4=%d,a=%d,b=%d,c=%d\n"",d,a,b,c);
运行结果
d1=1,a=4,b=8,c=5
d2=0,a=4,b=7,c=5
d3=1,a=4,b=7,c=5
d4=0,a=4,b=7,c=5
有两个问题
第一个:d3输出的时候为什么b=7。是怎么算出来的?
第二个:程序都运行过++a为什么a输出的结果仍为4呢?
请教啦
谢谢!~!
|