关于 a++ 与 ++a 解析

PS:再次感谢官方大大的推荐!另外最近有些忙,所以更新频率非常慢啦,但博主这也是为了保证博客内容更好嘛(手动狗头)

首先我们大家先通过

下面代码的运行结果来看下输出结果有什么不同

#include
int main()
{int i = 0, j = 0;i++;++j;printf("%d %d", i, j);//输出 1 1return 0;
}

似乎没有什么不同呀

都是进行自增1诶

那我们接着往下看这串代码

#include
int main()
{int i = 0, j = 0,x,y;x=i++;y=++j;printf("%d %d", x, j);//输出结果为 0 1return 0;
}

为什么会这样子是博主我写错结果了吗

当然不是的

原因如下

虽然 a++和++a 都属于自增运算符

区别是变量a的值进行自增的时候

a++是先进行取值,然后进行自增

++a是先进行自增,然后进行取值。

听起来有点绕

但就是酱紫

我们再来借助上面的代码详细说一下过程

int i = 0, j = 0,x,y;//这是上面的代码部分x=i++;y=++j;

我是分割线----------------------------------

a++其实就等效于

x=i;结果:x=0

然后进行     

i=i+1;结果:i=1

我是分割线----------------------------------

++a就等效于

y=j+1;结果:1

然后进行

j=j+1;结果:1

我是分割线----------------------------------

现在大家是不是觉得豁然开朗勒

那酱紫能帮到大家我就很开心啦

PS:同理适用与--a和a--哦

PS:PS:希望大家看了这篇文章后就懂得++a和a++了哦 就是酱紫 大家的支持是我的动力源泉 谢谢大家 拜拜xdm!(有错误欢迎私信我哦)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部