清代石涛介绍:谁帮我解释一下C语言中的++i与i++的区别及应用
来源:百度文库 编辑:查人人中国名人网 时间:2024/10/01 08:47:11
我发现自加与自减挺有意思的,在程序的前面与后面,结果是完全不一样的。
让我看满意的追加高分
让我看满意的追加高分
在实际编程中,为了程序的简练,经常使用 i++ 与 ++i 这样的语句,现简单对她们的区别做一说明:
i++ :先进行运算,再执行 i = i +1的操作;而 ++i 则是先执行 i = i +1的操作,再进行运算;举例说明如下:
int x=0, y=0;
y = x++;
执行后y的值仍为 0;而
int x=0, y=0;
y = ++x;
执行后y的值则为 1;
再例如:
int x=0;
if( x++ == 1) //条件为假
{
}
而
int x = 0;
if( ++x == 1) //条件为真
{
}
通过以上两个实例,我想大家应该可以很好的理解和使用i++和++i 了。
我说个简单的,i++和++i都是表达式,表达式是有值的,而i++和++i都是对i加1,但是表达式的值是不一样的,i++的表达式的值等于加1之前的i的值,而++i表达式的值等于加1之后的i的值
如果i=2
那么,(i++)+1等于3,而(++i)+1则等于4。
++i是先自加,然后结果再参与运算
i++是先参与运算,然后再自加
很清楚吧?
如果i=1
那么1*++i=2
而1*i++=1
main()
{
int i,j,x,y;
i=1;
j=1
x=++i;
y=j++;
printf("i=%d j=%d x=%d y=%d",i,j,x,y);
}
结果如下:
i=2,j=2,x=2,y=1
看出区别了吧:)
++i是先使i的值加1,再参与运算
i++是先参与运算,后使i的值加1
i++与++i的区别是这样的:
i++是先参与运算再自加;而++i是先自加再参与运算。
我就不举了。
我也不想拿分,只参与回答!
不过实在想给我也没办法。要就要吧!谢谢!