为了账号安全,请及时绑定邮箱和手机立即绑定

为啥是12,不是13呢?

为啥是12,不是13呢?

C
日光倾城4 2017-06-25 21:51:27
#include<stdio.h>main(){   int i=12;   int n;   n=i++;   printf("n=%d\n",n);}
查看完整描述

4 回答

已采纳
?
__innocence

TA贡献313条经验 获得超208个赞

 n=i++;

每次看到这样的写法,我都会拆成:

n=i;
i=i+1;

如果++在前面:

n=++i;

我会拆成:

i=i+1;
n=i;


查看完整回答
2 反对 回复 2017-06-26
?
程Glory

TA贡献19条经验 获得超6个赞

建议你看一下自增自减相关知识。i++与++i是有区别的,前者是先使用后+1,后者是先+1后使用。

查看完整回答
2 反对 回复 2017-06-25
?
IMOOC学习

TA贡献22条经验 获得超12个赞

这是运算符优先级的问题。

如果回复对你有帮助请采纳哦~

查看完整回答
反对 回复 2017-06-26
?
Elife漫格局

TA贡献17条经验 获得超13个赞

i++是先赋值,后+1,所以先将12赋予n,然后自身+1,结果就是n=12,i=13

查看完整回答
反对 回复 2017-06-26
?
Kiwis

TA贡献39条经验 获得超13个赞

i++和++i在不赋值的情况下得到的结果是一样的。但n=++i是先自增后再赋值,n=I++是先赋值再自增,也是你碰到的这个情况。

查看完整回答
反对 回复 2017-06-26
  • 4 回答
  • 0 关注
  • 2577 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信