为什么++a最后变成零了,不应该++a=2me?求详解
表示不理解
所以结果为 1.2没问题啊
输出1和2,有啥问题啊?
int a=1,b=1;
++a; // 这句执行完a = 2
printf("%d,\t",(--a)&&(++b));// (--a)&&(++b) 这里先执行,()优先级最高, (--a) = 1,(++b)==>b=2, 1 && 2 ==>得到逻辑值 1 ,所以这里输出:1,
printf("a=%d,b=%d",a,b); // 此时 a = 1, b = 2,输出: a=1,b=2.
最终显示在屏幕上:1, a=1,b=2
(--a)&&(++b) 结果实际上是布尔型,true 输出时被%d转化成整型,所以输出1