;if (a--||b--&&--c)我理解为a-1或者b-1和1-c对嘛?

#include<stdio.h>

main()

{

  int a=1,b=1,c=1;

  if (a--||b--&&--c)

  printf(" %d,%d,%d\n", a, b, c);

   else

      printf(" %d,%d,%d\n", a, c, b);

}

a--是先用a计算,再减去1,--c正好相反
由于a--不是0,所以if成立,b和c都不改变值
输出为0,1,1

a--和b--是先运算再付值
--c是先付值再运算
所以判断的条件是 1或者1并且0

不对
可以理解为
a || b && c-1
然后
a = a - 1
b = b - 1

if (a--||b--&&--c)我理解为a-1或者b-1和1-c
是不完全对的,对的地方在--确实跟-1有关系,所以很容易和-1弄混。
不过a--以及b--是在执行完下面所跟语句后再-1,而--c,是先-1再执行下面语句。

  if (a--||b--&&--c)
  printf(" %d,%d,%d\n", a, b, c);

可以理解为:

  c=c-1;
  if (a||b&&c)
     printf(" %d,%d,%d\n", a, b, c);
  a=a-1;
  b=b-1;

望采纳!!