c语言中,增一运算,a++和++a的区别,为什么有的数a++了加1,有的不加1,有的++a却加了2

 我来答
百度网友be89a6e
2015-11-12 · 超过59用户采纳过TA的回答
知道小有建树答主
回答量:94
采纳率:75%
帮助的人:55万
展开全部
a++这种形式是后置递增,++a这种形式是前置递增,,区别是,a++执行完操作后才加一,++a是自身先加一,然后执行相关操作,,举个例子:

int i=1,j,k;
j=1++;
k=++i;
cout<<i<<j<<k<<endl;
上边运行结果是:3 1 3,程序中i共自增了两次,所以是3,在j的赋值操作中,i先把值赋给j再自增,所以j是1,在k的赋值操作中,i先自增,这时i为3,然后把3赋给k,,
尽量使用++i,可以避免考虑执行操作时i的值,减少错误,,手打,望采纳,,
White_MouseYBZ
2015-11-12 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6634万
展开全部
你说的两种情况都不可能。a++和++a在独立表达式中效果是一样的,最后都使a增1。而在表达式中,a++取a的值参与运算,++a取a+1的值参与运算。
追问
那是不是说,1+a++就等于1+a,++a+1就等于a+2?
追答
你问的是a++和++a还是1+a++和++a+1?而且我那“在表达式中,a++取a的值参与运算,++a取a+1的值参与运算”的表述已经回答了这个问题,没看懂?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水上漂汤
推荐于2017-09-21 · TA获得超过1万个赞
知道大有可为答主
回答量:1830
采纳率:71%
帮助的人:1443万
展开全部
int a = 0;
a++:a的值更新为1,但是(a++)这个整体的值是a加1之前的值0,它相当于一个临时变量

int a= 0;
++a:a的值更新为1,(++a)这个整体的就是a本身,所以也是1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式