永发信息网

关于c语言左右自增运算

答案:5  悬赏:80  手机版
解决时间 2021-11-10 02:49
  • 提问者网友:沉默菋噵
  • 2021-11-09 19:20
关于c语言左右自增运算
最佳答案
  • 五星知识达人网友:过活
  • 2021-11-09 20:20
C语言的前置++和后置++,称为自增运算符
如果单独写 自增运算符为一个语句,二者没有区别
++i; 和 i++; 都是让i+1赋值给i
但是如果把自增运算符写入到另外表达式中二者就有很大区别了。

例如
1、
i=5;
j=i++;此处表达式等价于“j=i;i=i+1;”两条表达式。
执行后i为6,j为5
2、
i=5;
j=++i;此处表达式等价于“i=i+1;j=i;”两条表达式。
执行后i为6,j为6
注:通过上述例子,可以看出运算顺序产生了区别,导致了输出结果产生不同。
全部回答
  • 1楼网友:玩世
  • 2021-11-09 23:46
a++有返回值得,返回的是a+1之前的值,所以printf("%d\n",a++);就是0了
  • 2楼网友:玩家
  • 2021-11-09 23:31
a++;是用了这个语句后a再加1
printf("%d\n",a++); 执行这个语句时a是0,执行完后a就加1
a++;执行完后这个语句后a变为1
printf("%d\n",a);这时a已经是1了
有不懂可以再问
  • 3楼网友:白昼之月
  • 2021-11-09 22:02
a++,这个表达式的作用是先返回a的值,再将a++
而++a,这个表达式的作用是先将a++,在返回a的值,
也就是说

a=0;b=a++;执行这两句后,b=a的值(0),在将a++,即a的值为1,b的值为0
a=0;b=++a;执行这两句后,先将a++,再b=a的值(1),即a的值为1,b的值也为1

通常,可以这样记
a++,a在前面,所以先返回是原来a的值,在做+法。
++a,++在前面,所以先做加法,在返回值是原来a的值+1.
  • 4楼网友:低音帝王
  • 2021-11-09 20:37
a++; 用的时候先把a的值取出来使用,之后在把a加1
++a; 先把a加1,再把a现在的值(加1后的值)取出来用

int a=0;
printf("%d\n",a++); //结果为0 printf打印a的时候先把a的值取出来,是0,打印0,之后a再加1

int a=0;
printf("%d\n",++a); //结果为1 a先加1,得1,再取a的值1,打印1

int a=0;
a++; //这里a加了1,由0变为1
printf("%d\n",a); //a=1,打印结果为1

再举个例子
int a=0;
printf("%d\n",a++); //打印 0
printf("%d\n",a++); //打印 1
printf("%d\n",a); //打印2
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯