大家来分析一下以下程序的错误之处。
有程序片段:int A,B,C,m=1,n=0;
A=(--m=n++)?- -m:++n;
B=++m;
C=n--;
自我分析:程序第二行是个三目运算后赋值给A,首先判断条件:--m=n++成立与否?按照以前的认识,--m与m--的区别是:前者先自减再取值,后者是先取值再自减。那么条件中m自减后为0,n取值0,后减为-1,因此条件不成立,m的值为-1给A,然后,再自减为-2,程序第三行中B为-2,第四行C为0.但程序运行后结果为2 0 2.请帮助解释下,我的分析哪里错了。谢谢