关于++的问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 19:34:14
在c语言种经常有比如a++ 和 ++a的这种表达式,这两种表达式有什么区别吗,有人说什么时候赋值在先,什么时候不赋值,我听的云里雾里的,还请高手哦解答一下,一定要举个例子 解释下 谢谢咯

一直以来,++ --语法浪费了太多人的时间。说句实在话,++ -- 在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++。
而且,这也是一种好的程序风格:++ -- 语句如非特殊需要,请单独一行使用。

例如:
a=++i,就是说 先 i=i+1; 然后再计算 a = i;
a = i++,就是 先 a = i; 然后i=i+1;
假如这里i=3
那么 a=++i 就是 i=3+1,a=i=4
而 a = i++,就是a=i=3, i=3+1=4

a++是先用了再加;而++a呢就是加了后才用。

从左到右看......++i是先加后用.i++是先用后加..这是C语言跟其它语言不同的.其它语言可能是从右到左算.以后可能会学到.

3楼的例子很清楚了.

2楼说的很好.对于这样的语法没有什么需要深挖的.如果不明白分开写就好了.力顶2楼.