为了账号安全,请及时绑定邮箱和手机立即绑定

求大佬解释

#include<stdio.h>
int main()
{
 int x;
 scanf("%d",&x);
 printf("%f",x);
 return 0;
}

为啥不能转换了

我想的是输入比如输入一个5,输出是5.000000结果输出是0.000000

为啥?


正在回答

4 回答

printf函数中x变为(double)x

0 回复 有任何疑惑可以回复我~

#include<stdio.h>
int main()
{
 double x;
 scanf("%lf",&x);
 printf("%f",x);
 return 0;
}
int是整数型,不能输出小数,应该用double型来解

0 回复 有任何疑惑可以回复我~

#include<stdio.h>
int main()
{
 double x;
 scanf("%lf",&x);
 printf("%f",x);
 return 0;
}
int是整数型,不能输出小数,应该用double型来解

0 回复 有任何疑惑可以回复我~

把 printf("%f",x);换成printf("%f",(double)x);  亲测可用。

0 回复 有任何疑惑可以回复我~
#1

孤独的血小板 提问者

必须要强制转换一下吗?
2018-10-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       924408    人
  • 解答问题       20753    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

求大佬解释

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信