#include<stdio.h> int main() { int a=5,b=6;

#include<stdio.h>intmain(){inta=5,b=6;intc=b++;c+=(a++)*b;printf(“%d%d%d”,a,b,c);retu... #include<stdio.h>
int main()
{
int a=5,b=6;int c=b++;
c+=(a++)*b;
printf(“%d %d %d”,a,b,c);
return 0;
}
这个为什么输出的是6 7 41?✋✋✋
展开
 我来答
wx2473877548
2017-01-08 · TA获得超过1436个赞
知道小有建树答主
回答量:334
采纳率:0%
帮助的人:112万
展开全部
c等于b加加,由于加号在后面,先运算再自增,等同于c=b,b=b++,所以c=6,b=7:
c+=a++*b等同于c=c+a++*b:
星号运算优先级比较高,所以先算a++*b,由于a++是后缀,先运算后自增,a++*b(上一次自增过后变成7)=35;
c=c+35;c=41;
追答
a最终的值变成6,b最终变成7
PleasantMiao2
2017-01-08 · TA获得超过802个赞
知道小有建树答主
回答量:476
采纳率:0%
帮助的人:55.5万
展开全部

您好,很高兴能为您解决问题。

#include <stdio.h>

void main ()
{
     int a = 5, b = 6;
     // a = 5, b = 6
     int c = b++;
     // c = b++ = 6 (这时c是7, b是7)
     c += (a++) * b;
     // c += (a++) * b    也就是
     // c = c + (a++) * b 也就是
     // c = c + 5 * 7 (这时a是6)
     // c = c + 35
     // c = 6 + 35
     // c = 41
     printf ("%d %d %d", a, b, c);
     // 这时a是6, b是7, c是41
}

希望我的解答能帮到您,望采纳!

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式