c语言,i++和++i有什么不同

如题所述

i++
表示递增不在循环中则表示i的值+1;
i++与++i的区别是
i++是先操作后赋值
也就是如果你在此输出i++;
还是输出的i的值,便是你在i++;后面再写一句输出语句则i的值就变了;
而++i则是先赋值后操作,同理在++i的时候输出会得i+1的值,在后面输出也一样
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-18

    独立使用时二者效果一样。

    在表达式中i++取i的值参与运算,而++i取i+1的值参与运算。

    在表达式中++i可以做左值使用i++则不能,所以++i是“左值表达式”而i++不是。

本回答被网友采纳
第2个回答  2018-06-18
先赋值在自增和先自增再赋值 并且前者会额外生成一个副本追问

那为什么输出结果不是8778

第三个先赋值不是7吗

第3个回答  2019-04-26
表达式s1[i++]=s2[j++])
中包含两个后++
执行过程为:
1、s[i]
=
s2[j]
执行赋值表达式之后执行自增运算
2、i=i+1
3、j=j+1
如果是表达式s1[++i]=s2[++j])
执行过程为:
1、i=i+1
2、j=j+1
3、s[i]
=
s2[j]
执行赋值表达式之前进行自增运算
相似回答