printf("%d,%d,%d,\n",a++,a,++a)

 我来答
程序员风宇
活跃答主

2021-07-13 · 但行好事,莫问前程!
程序员风宇
采纳数:1690 获赞数:1319

向TA提问 私信TA
展开全部

运行结果如图所示:

由于操作数据变化,执行顺序不同,其结果不同。三者联合操作与单独执行效果又不一样,单独执行效果如下:

roveroverover
2021-07-13
知道答主
回答量:13
采纳率:0%
帮助的人:2559
展开全部

函数调用参数的时候,从右往左依次执行所有会改变变量数值的式子,遇到后置自增或后置自减的式子则直接把此时的变量代入,得到该自增式的值。全部执行完成后再从左往右依次把改变后的变量值代入各个除后置自增式以外的所有式子,此时这些式子的值是最终要代入函数的参数

假如a最开始等于1,从右往左执行所有会改变a的值的式子。先执行第三个式子++a,执行后a=2。第二个不改变变量的值跳过。第一个式子a++是后置自增式,直接带入当前a的值2就是这个表达式的值,然后a的值加一 等于三 吧a=3 带入到最后两个表达式中,得到最后的值为2 3 3

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月光下的qq
2021-07-13 · 科技优质答主
月光下的qq
采纳数:392 获赞数:672

向TA提问 私信TA
展开全部
您好,很高兴回答您的问题。
在c语言中,自增自减运算,是经常进行考试的题目,所以一定要熟练掌握相关内容和知识点。++在前,表示先对变量进行加1运算,然后再把得到的变量值作为最终的结果;++在后表示先把变量的值拿出来参与运算,然后再将变量的值增加1。
所以执行printf语句时,a++表示把a的值输出为1;然后a增加一个变成2,所以输出为2;再来计算++a,就是先把a的值增加1变成3,再来输出a的值,即为3。所以输出答案为1,2,3。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LJ22lj
2021-07-13
知道答主
回答量:3
采纳率:0%
帮助的人:1347
展开全部
如果a的初始值为0;
则打印结果为 0,1,2
例如:
int a=0;
b=a++;
结果b=0
a++运算是先把a的值赋给b然后a再自身加:b=a;a=a+1;这样运算
int a=0;
b=++a;
结果b=1
++a运算a=a+1;b=a;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2021-07-13
展开全部
如果a的初始值为1;
则打印结果为 1,2,3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式