一直以来, –语法浪费了太多人的时间。说句实在话, — 在C语言中其实是一个很细节的语法,除了表达简练外,真的没有什么其它的好处了。

由于中国的C语言教程长期以来被谭浩强主宰,而谭又错误的把 –作为一个C语言重点来教,并增加了一些难点,把本来很简单的语法,搞得复杂无比!

简单的来说, i 和 i ,在单独使用时,就是 i=i 1。

而 a = i,相当于 i=i 1; a = i;

而 a = i ,相当于 a = i; i=i 1;

如果实在搞不明白 –怎么回事,那也不是什么天塌下来的事。

因为a= i完全可以写成 i ; a=i。

a=i 完全可以写成 a=i; i 。

而且,这也是一种好的程序风格: — 语句如非特殊需要,请单独一行使用。 前者是先将I加1 后使用i 后者是先使用i再将i加1 先加和后加的区别int i=0;int j=i++;//后加,即i的值赋给j之后,i才加1,最后结果是j=0,i=1;i=0;//i重新归0;int j=++i;//前加,即i的值赋给j之前i已经加了1,最后结果是j=1,i=1; ++i 等同于 i = i + 1;

i++ 等同于 先执行一个语句;

然后执行i = i +1; ++i先加1,再做其他操作,i++先做其他操作,然后再加1

举例:i=5; j=++i;,结果i=6,j=6

i=5;j=i++;结果为i=6,j=5 就是先使用和先加1的区别,i=1, a=i++,那么a=i=1 然后i=i+1; i=1,a=++i,那么i=i+1,a=i=2