设int a=1,b=2,c,d,e;执行下面的语句c=(-a++)+(++b);d=(b--)+(++a)-a;e=(a/(++b))-(b/(--a));后,

设inta=1,b=2,c,d,e;执行下面的语句后a,b,c,d,e的结果分别是?????c=(-a++)+(++b);d=(b--)+(++a)-a;e=(a/(++... 设int a=1,b=2,c,d,e;执行下面的语句后a,b,c,d,e的结果分别是?????
c=(-a++)+(++b);
d=(b--)+(++a)-a;
e=(a/(++b))-(b/(--a));
展开
 我来答
斩天及
推荐于2017-09-09 · TA获得超过8832个赞
知道大有可为答主
回答量:8460
采纳率:0%
帮助的人:4001万
展开全部
你好,答案是:a=2,b=3,c=2,d=3,e=0

a++和++a是自增运算,相当于a=a+1;a--和--a是自减运算,相当于a=a-1
“++a”或“--a”是先自增自减再参与计算;“a++”或“a--”是先参与计算再自增自减

如果还不懂,请追问
追问
我不太懂a,b的值为什么同时也跟着改变,a++的值,会改变原有a的值?最后输入a的值不是a=1么?
追答
  1. 首先我告诉你了这是一种简写形式,因为你那题目写的是复合语句。C语句是以分号结尾的,所以我说的先后是以分号为界的。

  2.  第一句:c=(-a++)+(++b);  a++是先参与计算,然后在程序执行到分号后才自增,而++b是程序读到该处b的值马上+1变为3,所以c=(-1)+(3)=2,执行到分号,a的值+1变为2

    复合语句【c=(-a++)+(++b);】分解开就是:

    b=b+1;

    c=-a+b;

    a=a+1;

    这就是我说的先后问题呀

  3. 第二句:【d=(b--)+(++a)-a;】分解开就是:

    (注意经过语句1,a=2,b=3)

    a=a+1;

    d=b+a-a;

    b=b-1;

  4. 第三句:【e=(a/(++b))-(b/(--a));】分解开就是:

    (注意经过语句2,a=3,b=2)

    b=b+1;

    e=a/b;

    a=a-1;

    e=e-b/a;

    (注意你定义的e是整型数,所以只要整数部分,小数部分被丢弃)



White_MouseYBZ
2014-03-22 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6506万
展开全部
c=-1+3=2;(b=3,a=2)
d=3+3-3=3;(b=2,a=3)
e=(3/3)-(3/2)=0;(b=3,a=2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式