以下程序运行后的输出结果是
main()
{double a;
int b;
b=a=10/4;
printf(“%d,%f\n”,b,a);}
为什么输出结果是2,2.000000,而不是2,2.500000
以下程序运行后的输出结果是 main() {double a; int b; b=a=10/4; printf(“%d,%f\n”,b,a);}
答案:6 悬赏:30 手机版
解决时间 2021-02-03 05:04
- 提问者网友:凉末
- 2021-02-02 05:00
最佳答案
- 五星知识达人网友:愁杀梦里人
- 2021-02-02 05:15
10/4得到的是整数2,将2赋给a,在输出a是显示2.000000
如果要得到2.500000,需要10.0/4或10/4.0
如果要得到2.500000,需要10.0/4或10/4.0
全部回答
- 1楼网友:第幾種人
- 2021-02-02 08:34
因为10和4都是整数,所以10/4的结果也是整数,得2而不是2.5
可以参考小学数学运算
- 2楼网友:千夜
- 2021-02-02 08:02
因为10和4都是整.所以结果也是整.你把10或是4其中一个加一个.0结果就会有小数了.
- 3楼网友:躲不过心动
- 2021-02-02 07:48
因为问题出在a=10/4等号的右边,等号右边先进行运算,10和4都是int型的数据,所以结果也是默认为int型数据2,然后进行类型转化将2转成double型赋值给a,想输出2.50000的话,将10/4改成10.0/4就可以了。
- 4楼网友:大漠
- 2021-02-02 06:29
b=a=10/4;这儿的执行是从右往左的,因为a是整型 ,所以10/4结果是2,而不是2.5,所以b=a时,也是2
- 5楼网友:woshuo
- 2021-02-02 06:10
把10或者4随便一个改成10.0或4.0就行了,直接用10/4的话程序会认为是int型的10/4,所以结果就成了2,然后再给a赋值了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯