C语言中--a和a--有什么区别?麻烦给举个例子。谢谢!

 我来答
宏景天桐穹
2019-12-05 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:588万
展开全部
前者是先运算再付值。后者是先付值再运算。
比如说C
=--a
.当a
等于5时,C
等于4,是先把五减去一再付的值。当C
=a
--时,同样a
被赋值为五,C
的结果就为五,是先付的值,
但是,两式最后的a
都为四
计施诗纪子
2019-05-13 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:907万
展开全部
假设int
a
=
1;
那么假设printf("%d",--a);那么是将a减1,然后输出a
输出的结果就是:0
假设printf("%d",a--);是先输出a,然后执行a-1.
输出结果是:1

int
a
=
1;
printf("%d\n",a--);
//
是先输出a,然后执行a-1.
printf("%d\n",a);
//
所以这里输出的a是0!

而且注意不要把增量运算符或减量运算符放在输出中,比如:
int
a
=
1;
printf("%d\t%d\t%d\t%d\n",a,a++,a,a++);
输出结果是
3
2
2
1
你可能疑惑为什么第二个a++不是3呢?因为标准C并没有规定在一个语句中是每执行执行一次增减量运算符后执行增减还是整个语句执行完后完成增减...所以最好不要使用这种方法.可以把语句分开来运算...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
长英秀扬珺
2020-04-02 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:628万
展开全部
b=a--;
这个语句等价为
b=a;
a=a-1;

b=--a;
等价为
a=a-1;
b=a;
也就是说减号在前面就先算减再把减了之后的值进行运算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
下一茨微笑bG
2019-03-21 · TA获得超过2.9万个赞
知道小有建树答主
回答量:1.2万
采纳率:33%
帮助的人:658万
展开全部
07-27
22:33
前者是先运算再付值。后者是先付值再运算。
比如说C
=--a
.当a
等于5时,C
等于4,是先把五减去一再付的值。当C
=a
--时,同样a
被赋值为五,C
的结果就为五,是先付的值,
但是,两式最后的a
都为四
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式