永发信息网

以下程序运行后的输出结果是 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
以下程序运行后的输出结果是
main()
{double a;
int b;
b=a=10/4;
printf(“%d,%f\n”,b,a);}
为什么输出结果是2,2.000000,而不是2,2.500000
最佳答案
  • 五星知识达人网友:愁杀梦里人
  • 2021-02-02 05:15
10/4得到的是整数2,将2赋给a,在输出a是显示2.000000
如果要得到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赋值了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯