问一个老问题关于i++和++i,以前以为懂了
void CTest0Dlg::OnButton1()
{
// TODO: Add your control notification handler code here
int a=0,b=0;
b = (a++) + (a++) + (a++);//a=3,b=0;
a=0;b=0;
b = ++a + ++a + ++a;//a=3,b=7; 问题1:b为啥等于7?????我认为:b=1+2+3
a=0;b=0;
b = (++a) + (++a) + (++a);//a=3,b=7; 问题2:b为啥等于7?????我认为:b=1+2+3
a=0;b=0;
b = a++ + ++a;//a=2,b=2; 问题3:b为啥等于2?我认为是b=0+1
a=0;b=0;
b = ++a + a++;//a=2,b=2; 问题4:我认为是b=1+1,即后边的a++没变,可上边为啥变了?
a=0;b=0;
b = ++a + a++ + ++a;//a=3,b=4;问题5:这个好像又正常了,为认为是b=1+1+2,为啥上边的不是这样呢
a=0;b=0;
b = a++ + ++a + a++;//a=3,b=3;我彻底糊涂了,我认为是:b=0+1+1
}