中易网
VC++6.0中的%d和%f等有什么区别?
答案:2 悬赏:40
解决时间 2021-02-27 14:45
提问者
网友:写不出迷人情诗
2021-02-26 17:42
比如说我输入:
#include
main()
{
float n;
n=2211.12;
printf("n=%f",n);
}
如果为%f的话输出是:2211.12,但如果printf里变成%d的话,结果就是-2147483648,这是什么原因?%d的意思不是以十进制格式输出吗。。?那不就应该还是原来的数不变么。。?我刚学C语言~。。还有,为什么如果把前面的float改成int在用%d输出就可以了呢(输出是2211)~。。?我感觉既然%d表示以十进制格式输出那不论定义的n是什么型都应该按照原数输出啊。。
最佳答案
二级知识专家
网友:滚出爷的世界
2021-02-26 18:14
#include
main()
{
float n;
n=2211.12f;
int i;
i=n;
printf("n=%f",n);
printf(" i=%d",i);
}
如果这样写i是2211,这涉及浮点型和整形的转换问题,float占4字节,有的字节是表示整数位,有的小数位,具体可以看浮点型定义;int型也是4字节,但都是表示的是整数。用i=n赋值,就把浮点型对应的整数值传给整形,进行了转换,如果直接%d输出显示,默认的包浮点型所占的4字节内存全部当成整形输出,故是乱码!
全部回答
1楼
网友:绝望伪装
2021-02-26 19:39
刚 入门 吧? 好好看看资料吧 再看看别人怎么说的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
•
魔兽争霸RPG伏魔战记玩到一半就提示内存不够
•
软件下载网站哪个好
•
哪些商品由物价局定价
•
我想在家控制单位的电脑?应该怎么弄阿?
•
山东滨州环海线缆有限公司这个地址在什么地方
•
中国移动新街营业厅在哪里啊,我有事要去这个
•
java 中有父类 子类 内部类 还有什么类?他们
•
妈妈过生日,贝贝为妈妈定做了一个圆柱形生日
•
sap开发常用日语有哪些
•
青海公路门源公路段盘坡工区地址在什么地方,
•
求一款RPG类的麻将游戏
•
电脑内置喇叭如何发出声音
•
iphoneQQ隐身后,为什么还是显示在线,而且是
•
被拉稀的狗抱了一头会不会感染狂犬
•
苹果6plusID解不开了 还能卖多少钱
推荐资讯
•
上海工商外国语学院德语专业好吗?
•
吃什么去斑最快最有效
•
家用电表接线错误会导致电表跑得快吗
•
vivoy37最新系统是不是4,7寸
•
想买台电脑上学 能玩NBA2K14使命召唤7之类的
•
姿润地址在什么地方,想过去办事
•
天利宾馆在哪里啊,我有事要去这个地方
•
2CH4+2O2点燃=co2+2h2o.可以得到什么信息
•
你好,问一下 注销外国人就业证,还可以停留
•
北沟门子乡在什么地方啊,我要过去处理事情
•
为什么将秦始皇陵的兵马俑称为世界第八大奇迹
•
水星是最短的旋转周期行星吗?
•
手机登qq时,显示手机磁盘不足,清理后重新登
•
刺客的套装怎么选啊?