永发信息网

定义a =123456.123456789,a 的输出类型分别为%5lf %5d,则a 的输出结果分别是?谢谢!

答案:5  悬赏:0  手机版
解决时间 2021-02-26 21:47
  • 提问者网友:骨子里的高雅
  • 2021-02-26 18:05
定义a =123456.123456789,a 的输出类型分别为%5lf %5d,则a 的输出结果分别是?谢谢!
最佳答案
  • 五星知识达人网友:一秋
  • 2021-02-26 19:16
double a =123456.123456789;
printf("%5lf, %5d\n",a,a);
vc下的输出结果是:
123456.123457, -106048652
前者是已经超出范围,直接按6位小数输出,后者是因为机器内存储的格式造成
全部回答
  • 1楼网友:笑迎怀羞
  • 2021-02-26 22:23
float a=123456.123456789; printf("%5lf\n"); printf("%5d\n"); 输出结果分别是0.000000和2367460。
  • 2楼网友:枭雄戏美人
  • 2021-02-26 21:58
第二个是123456 第一个好像是你看错了 是不是少个点什么的 感觉你这个问题有点怪 写错了吧
  • 3楼网友:等灯
  • 2021-02-26 21:09
你好! 1、linux gcc t.c :123456.123457 1024 2、linux gcc -m32 t.c: 123456.123457 -106048652 3、win: 同2 4、unix : cc32:123456.123457 130 5、unix: cc64: 同2 %lf默认5位小数,四舍五入了 %d为什么不同 仅代表个人观点,不喜勿喷,谢谢。
  • 4楼网友:神鬼未生
  • 2021-02-26 20:42
输出结果分别是: 123456.123457 -106048652 后者为负数是因为将double型123456.123456789的存储直接当成整数来对待。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯