中易网

C语言中显示小数部分

答案:5  悬赏:0  
解决时间 2021-04-27 07:28
  • 提问者网友:饮鸿
  • 2021-04-26 21:36
#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?
最佳答案
  • 二级知识专家网友:萝莉姐姐鹿小北
  • 2021-04-26 22:52
printf("c is %d\n", c); // %d表示以整数输出,如果对应的变量是浮点数,会自动把小数部分截掉
如要输出小数应该改为
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的整数部分 希望对楼主有帮助
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息