PS:再次感谢官方大大的推荐!另外最近有些忙,所以更新频率非常慢啦,但博主这也是为了保证博客内容更好嘛(手动狗头)
首先我们大家先通过
下面代码的运行结果来看下输出结果有什么不同
#include<stdio.h>
int main()
{
int i = 0, j = 0;
i++;
++j;
printf("%d %d", i, j);//输出 1 1
return 0;
}
似乎没有什么不同呀
都是进行自增1诶
那我们接着往下看这串代码
#include<stdio.h>
int main()
{
int i = 0, j = 0,x,y;
x=i++;
y=++j;
printf("%d %d", x, j);//输出结果为 0 1
return 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!(有错误欢迎私信我哦)
版权声明:本文为weixin_60536621原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。