一道c语言题。假定x和y为double型,则表达式x=2,y=x+3/2的值是? 麻烦会的亲写一下
答案:3 悬赏:50
解决时间 2021-01-22 16:15
- 提问者网友:饥饿走向夜
- 2021-01-21 22:54
一道c语言题。假定x和y为double型,则表达式x=2,y=x+3/2的值是? 麻烦会的亲写一下
最佳答案
- 二级知识专家网友:等灯
- 2021-01-21 23:58
逗号表达式,假设表达式的值要赋值给另一个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);
全部回答
- 1楼网友:不如潦草
- 2021-01-22 02:55
y的值是3
因为3和2默认是整数,他们的计算规则是整数计算,所以3/2=1
然后再加上x即得到3
因为3和2默认是整数,他们的计算规则是整数计算,所以3/2=1
然后再加上x即得到3
- 2楼网友:孤老序
- 2021-01-22 01:32
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
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯