c语言输出语句里的d和f什么区别
答案:4 悬赏:0 手机版
解决时间 2021-11-20 16:42
- 提问者网友:流星是天使的眼泪
- 2021-11-20 06:19
c语言输出语句里的d和f什么区别
最佳答案
- 五星知识达人网友:蓝房子
- 2021-11-20 07:44
float 是4 个字节,
int 是两个字节。
比如:
float 1 在内存中是这样:
00000000 00000000 00000000 00000001
而int 1 在内存中是这样:
00000000 00000001
当用int 取float 的值时,只取前两个字节,也就是相当于 00000000 00000000 .
所以要先将浮点型数据强制转换成整型,再进行输出。
int 是两个字节。
比如:
float 1 在内存中是这样:
00000000 00000000 00000000 00000001
而int 1 在内存中是这样:
00000000 00000001
当用int 取float 的值时,只取前两个字节,也就是相当于 00000000 00000000 .
所以要先将浮点型数据强制转换成整型,再进行输出。
全部回答
- 1楼网友:归鹤鸣
- 2021-11-20 09:43
按规则来吧··· ···
- 2楼网友:过活
- 2021-11-20 09:30
使用强制转换(int)+变量即可追问#include
main()
{
float j,i;
j=3.234;
i=(int)j;
printf("i=%d\n",i);
}
这个输出0
#include
main()
{
float j,i;
j=3.234;
i=(int)j;
printf("i=%f\n",i);
}
这个输出3.000000
我想问第一个为什么不输出3,而是0?
main()
{
float j,i;
j=3.234;
i=(int)j;
printf("i=%d\n",i);
}
这个输出0
#include
main()
{
float j,i;
j=3.234;
i=(int)j;
printf("i=%f\n",i);
}
这个输出3.000000
我想问第一个为什么不输出3,而是0?
- 3楼网友:枭雄戏美人
- 2021-11-20 08:05
浮点型的存储方式为
这和整型的存储方式不一样,所以在使用格式串%d取值的话肯定也会不一样,但是结果与编译器是有关系的,使用格式串%f来输出应该是没有错的,照理是输出3.234000;单纯的想要进行把3.234变为int型3的话可以使用强制类型转换,float num = 3.12; int convert = (int)num;
结果是convert =3。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯