鱼C论坛

 找回密码
 立即注册
查看: 2963|回复: 6

输出问题

[复制链接]
发表于 2013-10-6 20:41:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
main()
{
        float f=5.75;
        printf("(int)f=%d,f=%f\n",f,f);
}
有谁知道上述语句的输出结果为什么是0和0.000000吗?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-6 20:47:40 | 显示全部楼层
”(int)f=%d“  中  %d  是表示整型;

" f=%f “   中   ”%f“  表示的是浮点型;

整型与浮点型应该懂了吧???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-6 20:53:24 | 显示全部楼层

那后者不是应该正常显示的吗?为什么输出是0.000000呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-6 21:42:48 | 显示全部楼层
DragonL915 发表于 2013-10-6 20:53
那后者不是应该正常显示的吗?为什么输出是0.000000呢?

因为在 “printf”里面不能强制类型转换,第一个为0;既然前面都是0,那后面部用说,肯定也是0;
分开用两个  “printf”就行了;
要想强制类型转换可以在前面加:
         int a;
         a = f;
就OK了;
希望对你有帮助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-6 21:46:07 | 显示全部楼层
1023164945 发表于 2013-10-6 21:42
因为在 “printf”里面不能强制类型转换,第一个为0;既然前面都是0,那后面部用说,肯定也是0;
分开用 ...

真的诶,谢谢你的帮助:handshake
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-6 21:55:57 | 显示全部楼层
DragonL915 发表于 2013-10-6 21:46
真的诶,谢谢你的帮助

不客气,我也是新手,教程看完了也是一知半解,来这跟大家交流交流的
其实就调试而已,懂得的话能解决很多问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-8 11:49:23 | 显示全部楼层
main()
{
        float f=5.75;
        printf("(int)f=%d,f=%f\n",(int)f,f);    //这里第一个变量加上一个强制类型转换就可以了。
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 23:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表