设int a=1,b=2,c,d,e;执行下面的语句c=(-a++)+(++b);d=(b--)+(++a)-a;e=(a/(++b))-(b/(--a));后,
答案:2 悬赏:30 手机版
解决时间 2021-03-22 05:30
- 提问者网友:浩歌待明月
- 2021-03-21 14:28
设int a=1,b=2,c,d,e;执行下面的语句c=(-a++)+(++b);d=(b--)+(++a)-a;e=(a/(++b))-(b/(--a));后,
最佳答案
- 五星知识达人网友:几近狂妄
- 2021-03-21 15:09
你好,答案是: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么?追答
a++和++a是自增运算,相当于a=a+1;a--和--a是自减运算,相当于a=a-1
“++a”或“--a”是先自增自减再参与计算;“a++”或“a--”是先参与计算再自增自减
如果还不懂,请追问追问我不太懂a,b的值为什么同时也跟着改变,a++的值,会改变原有a的值?最后输入a的值不是a=1么?追答
- 首先我告诉你了这是一种简写形式,因为你那题目写的是复合语句。C语句是以分号结尾的,所以我说的先后是以分号为界的。
第一句: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;
这就是我说的先后问题呀
第二句:【d=(b--)+(++a)-a;】分解开就是:
(注意经过语句1,a=2,b=3)
a=a+1;
d=b+a-a;
b=b-1;
第三句:【e=(a/(++b))-(b/(--a));】分解开就是:
(注意经过语句2,a=3,b=2)
b=b+1;
e=a/b;
a=a-1;
e=e-b/a;
(注意你定义的e是整型数,所以只要整数部分,小数部分被丢弃)
全部回答
- 1楼网友:青灯有味
- 2021-03-21 15:17
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)
d=3+3-3=3;(b=2,a=3)
e=(3/3)-(3/2)=0;(b=3,a=2)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯