提一个关于++的小问题。
我用C#作了一个程序。 
 int   i=10; 
 i=i+i++; 
 Console.WriteLine(i); 
 Console.ReadLine(); 
 输出的结果是20.   
 我有用C做了一个 
 int   i   =   10; 
 i   =   i   +   i++; 
 printf( "i=%d\n ",i); 
 输出结果是21.   
 奇怪?#@!@!!      为什么?????      C的好理解,C#的为什么是20,后面的i++没有起作用?
------解决方案--------------------i+i++ 
 其实关键在于++的时机 
 C#是在运算完i+i的时候 
 而C++是在运算完i=i+i的时候 
 这就不难理解了吧。   
 C#计算 
 i + i++ = 10 + 10= 20。这个时候++,i变为11,但是马上i被赋值为20,不就这样了……   
 不过C不同的编译器其运算结果也是不同的。