一道c语言题。假定x和y为double型,则表达式x=2,y=x+3/2的值是? 麻烦会的亲写一下
一道c语言题。假定x和y为double型,则表达式x=2,y=x+3/2的值是?麻烦会的亲写一下过程,谢谢...
一道c语言题。假定x和y为double型,则表达式x=2,y=x+3/2的值是?
麻烦会的亲写一下过程,谢谢 展开
麻烦会的亲写一下过程,谢谢 展开
3个回答
2015-07-12
展开全部
3/2 除法,商为1 ;
因为x=2, 所以 y=x+1 =3 ;
如果要输出的话, 默认是输出6个小数点,即 x=2.000000 , y=3.000000
另外,你是不是少写了什么,感觉如果是题目的话,这个应该考的应该是逗号运算符;
如:
double z;
z = (x=2,y=x+3/2);
// 则表达式返回的是最后一个表达式的值;
// 即 z = (y=x+3/2) --> z = y = 3; z和y都为3
展开全部
y的值是3
因为3和2默认是整数,他们的计算规则是整数计算,所以3/2=1
然后再加上x即得到3
因为3和2默认是整数,他们的计算规则是整数计算,所以3/2=1
然后再加上x即得到3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逗号表达式,假设表达式的值要赋值给另一个double型变量a:a=(x=2,y=x+3/2);
相当于:x=2; y=x+3/2; a=y; 逗号表达式是顺序执行后最后一个式子的取值
x=2;[x=2],y=x+3/2;[y=2.0+1=3]由于在计算3/2时,参与计算的两个数都是整型数据,则默认进行整型的计算得到的数也是整型的1,舍去了小数部分,a=y;[a=3]所以整个表达式的值为3.0
如果想得到3.5,要改写一下:这几种写法都可以
a=(x=2,y=x+3.0/2);
a=(x=2,y=x+3/2.0);
a=(x=2,y=x+(double)3/2);
相当于:x=2; y=x+3/2; a=y; 逗号表达式是顺序执行后最后一个式子的取值
x=2;[x=2],y=x+3/2;[y=2.0+1=3]由于在计算3/2时,参与计算的两个数都是整型数据,则默认进行整型的计算得到的数也是整型的1,舍去了小数部分,a=y;[a=3]所以整个表达式的值为3.0
如果想得到3.5,要改写一下:这几种写法都可以
a=(x=2,y=x+3.0/2);
a=(x=2,y=x+3/2.0);
a=(x=2,y=x+(double)3/2);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询