C语言增量运算符的前缀和后缀形式的区别是什么?高手请进来帮忙解答下

2024-11-19 20:32:14
推荐回答(4个)
回答1:

i++
是先读取i的值在进行加1
++1
是先进行加1,再读取i的值
放到for里面没效果,因为不管i++还是++i,都不会取当时i的值,而是在这一步过了才取到它的值。
下面举个简单例子:
main()
{
int i=1;
int j=1;

while(i++ <4)
printf("i++ say hello!\n");

while(++j < 4)
printf("++j say hello!\n");
}

你运行下就知道结果了

while循环就是满足条件时一直运行,直到不满足才跳出

你给的这个式子的答案是b=2 ,c=3.

main()
{
int c=2;
int b=5;
b=c++;
printf("c=%d, b=%d \n",c,b);

}

用这个程序验证
先把c的2赋给了b,然后c自增。
如果是++c,那么就是先c自增,然后赋给b

回答2:

i++ 在 整个运算没结束 值依然是i
++i 在 整个运算没结束 值是i+1

for 函数没变的原因是,,

因为for 是运行后在 ++的

for(i = 1;i <= count ;i++)
sum += i;

是 i = 1 ;i <= count ; sum += i; i++ (这个范围内值才有区别);这样的循环

for(i = 1;i <= count ;++i)
sum += i;

是 i = 1 ;i <= count ; sum += i; ++i ;这样的循环

回答3:

在这个循环里面用到i++和++i是没什么区别的,它只起到加的作用,而他们的结果都会加1的

但是你输出或者在其它赋值的时候就不同了
b=c++;//先赋值给b,c再加1
a=++c;//c先加1,再赋值给a

回答4:

i++
先把i的初值赋给表达式(i++),作为表达式(i++)的值,然后i自增1作为i的值。
如i=1,则表达式(i++)的值等于1,而i的值变为2。
++i
i先自增1,再把自增后的值赋给表达式(++i)。
如i=1,则表达式(++i)的值等于2,i的值也为2,

i--和i++同理
--i和++i同理