设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)); 展开
c=(-a++)+(++b);
d=(b--)+(++a)-a;
e=(a/(++b))-(b/(--a)); 展开
2个回答
展开全部
你好,答案是: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++和++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是整型数,所以只要整数部分,小数部分被丢弃)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询