
c语言问题,若a=5,b=a++,求a,b的值
展开全部
楼上回答的已经很好了,答案就是a=6,b=5;
另外我想补充的是:如果换成b=++a(先自加,后赋值);那么b的值就为6,a的值不变。为什么呢?识别的方法在于看等号直接挨着的是数据还是算式,如果是数据,比如就是b=a++(先赋值,后自加)那么b的值就会是a。如果是算式++a,b的值就会在运算后得到结果赋予b。可无论a++还是++a都相当于a=a+1.
望采纳,O(∩_∩)O
另外我想补充的是:如果换成b=++a(先自加,后赋值);那么b的值就为6,a的值不变。为什么呢?识别的方法在于看等号直接挨着的是数据还是算式,如果是数据,比如就是b=a++(先赋值,后自加)那么b的值就会是a。如果是算式++a,b的值就会在运算后得到结果赋予b。可无论a++还是++a都相当于a=a+1.
望采纳,O(∩_∩)O
展开全部
a很简单,相信你的疑问应该是b的值,这里就牵扯到运算符的理解了,a++的运算顺序是先使用再自增1,所以b=a++其实可以看成b=a;a=a+1;所以b应该是a未加1之前的值所以a、b都应该是5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a++,执行语句后,a自增1
b=a++,先将a的值赋给b,a再自增1
a的值赋给b,b=5
a自增1,a=6
a的值是6,b的值是5
b=a++,先将a的值赋给b,a再自增1
a的值赋给b,b=5
a自增1,a=6
a的值是6,b的值是5
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
执行完成后,b=5,a=6
因为++在后是先用在自加
因为++在后是先用在自加
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a = 6
b = 5
a = 5,b=a++;
就相当于
a = 5;
b = a++;
就相当于
a = 5;
b = a;
a++;
b = 5
a = 5,b=a++;
就相当于
a = 5;
b = a++;
就相当于
a = 5;
b = a;
a++;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询