在C语言中i++和++i详细的区分是什么

2025-03-15 00:33:00
推荐回答(5个)
回答1:

++i和i++
相同点:每执行一次i本身都会加1
不同点:主要是在赋值时不同
int a,b,c,e,f;
a = c = e = f = 0;
b = 1;
while(c>5)
{
++a;
b++;
c++;
}
//此时a=6,b=7,注意下面赋值
e = a;//把自增后的值赋给e
f = b;//把自增前的值赋给f
//最后e = 6,b = 1

回答2:

假设i的值为0
则i++,返回值为0,i增加1,i的值为1
++i,i增加1,i的值为1,返回值为1
如下:
b=i++;//这里b的值为0,i的值为1
b=++i;//这里b的值为1 ,i的值为1

回答3:

简单:
i++ ----->先使用i,然后再将i加个1
++i ----->先将i加个1,然后再使用i
深解:
i++ ----->再运行程序的时候,系统会自动产生一个临时变量temp来存放i的值,然后使用i,最后再将temp加1赋值给i。
++i ------>也还是直接加1使用

回答4:

单独是看不出来的.
i = 4;
例: if (i++ == 5) if (++i == 5)
第一句判断就是false, 因为i++是先执行判断,然后再++, 所以下一次判断才为true;
第二句判断就是true, 因为++i是先执行+1,然后再判断,++之后i等于5,所以为true.

回答5:

先赋值后加 i=1;i++ i=1
先加后赋值 i=1;++i i=2