定义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位小数输出,后者是因为机器内存储的格式造成
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的存储直接当成整数来对待。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯