#include<stdio.h>
int main()
{
float a,b,c;
a=7.0;
b=4.0;
c=a/b;
printf("c is %d\n",c);
}
弱弱的问下。。c为什么不显示1.75 而是显示的是0?
C语言中显示小数部分
答案:5 悬赏:0
解决时间 2021-04-27 07:28
- 提问者网友:饮鸿
- 2021-04-26 21:36
最佳答案
- 二级知识专家网友:萝莉姐姐鹿小北
- 2021-04-26 22:52
printf("c is %d\n", c); // %d表示以整数输出,如果对应的变量是浮点数,会自动把小数部分截掉
如要输出小数应该改为
printf("c is %f\n", c); //单精度的
或者
printf("c is %lf\n", c ); //双精度的
如要输出小数应该改为
printf("c is %f\n", c); //单精度的
或者
printf("c is %lf\n", c ); //双精度的
全部回答
- 1楼网友:废途浑身病态
- 2021-04-27 03:52
printf("c is %d\n",c);改成
printf("c is %f\n",c);
- 2楼网友:旧事诱惑
- 2021-04-27 02:53
嗯=。=来晚了
- 3楼网友:短发女王川岛琦
- 2021-04-27 01:34
printf("c is %d\n",c);改成
printf("c is %f\n",c);
- 4楼网友:情窦初殇
- 2021-04-26 23:57
首先一点
把printf("c is %d\n",c);改成
printf("c is %f\n",c);就可以达到输出1.75
下面开始说为什么输出的是0的问题。
因为整型和浮点型在内存中存储的字节位不同,如果把浮点型数值按整型格式化输出的话,会有“缺位”的效果。就如上例,实际按%d格式输出的是0.
按照楼主的题目是想得到一个浮点型的小数部分了,可以这样修改
c=a/b
c=c-(int)c;//小数部分,(int)c意思是去C的整数部分
希望对楼主有帮助
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息