
#include
int main()
{
int i = 1;
int j = i++;
printf("%d\n",j);
}
运行结果:
注意 j 的赋值部分:
int j = i++;
说明 int j = i++ 等同于:
int j = i;
i = i + 1;
++i 解释
如果我们把 i++ 换成 ++i,看看结果如何:
#include
int main()
{
int i = 1;
int j = ++i;
printf("%d\n",j);
}
运行结果:
说明 int j = ++i 等同于:
i = i + 1;
int j = i;
i++ 与 ++i 对 i 的影响
- 上述两段代码中,发现 i++ 与 ++i 的使用使得 j 的结果不同。
- 但其实事实上,若我们输出 i 的结果,发现 i 的结果是相同的。
- 在官方标准的描述中,称++为 “自增运算符”:
i++ 含义为先运算,再自增;
++i 含义为先自增,再运算。 - 自增运算符经常用于循环 for 语句中,一般使用 i++ 作为自增,简化了 i = i+1 的书写方式。但是事实上对于计算机的运行效率没有任何影响。
一道有意思的习题
https://edu.csdn.net/skill/practice/c-eb5b902755f24674bce31bde2ce4f439/343?typeId=18444&language=c
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)