全部问题 > 当前问题

以下程序为什么把“a ”全部改成" a"输出结果都一样

#include<stdio.h>
main()
{
 int a= 1,b=0,c,d;
 c=(a++>0)||(--b>0);
 d=(--b>0)||(a++<0);
 printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
}

litreB·H 2018-2-5 18:35:49

共 2 个回答

litreB·H 2018-2-5 18:36:30

“a++”改成"++a"

qqq 2018-2-11 15:27:56

你要搞清楚a++和++a的区别。

如果a一开始等于1的话,a++这个整体=a=1,++a这个整体=a+1=2,但不管是a++还是++a执行完之后a都会变成2,而且在这个程序中,a是1还是2对cd的值并没有影响,所以输出结果当然没区别了。