C语言编程,请问哪里错了 # include<stdio.h> void main() { float f=5.75; printf("(int)f=%d,f=%f\n",(i

nt)f,f);}... nt)f,f);
}
展开
 我来答
指针幽灵
2011-03-08 · 超过23用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:68.5万
展开全部
楼上的总纠结引号里面的(int),那个是用来输出的,不会转换。楼主看我。

#include<stdio.h>
void main()
{
float f=5.75;
printf("(int)f=%d,f=%f\n",(int)f,f);
getchar();
}
用VC2005编译的。没错,输出:
(int)f=5,f=5.750000
估计是编译器的问题。不同的编译器有细节方面的问题。你是用什么编译器的?
zhailiubo
2011-03-08 · TA获得超过3530个赞
知道小有建树答主
回答量:613
采纳率:0%
帮助的人:719万
展开全部
# include<stdio.h>
void main()
{ float f=5.75;
printf("f=%d,f=%f\n",(int)f,f);
}
这样就行了,你是不是这个目的啊?把""里的强制转换(int)删了就行了。
最后输出f=5,f=750000
希望对你有帮助!
追问
是啊!可是在visual c++上编程时系统提醒说有一个错误,这是为什么?
追答
printf("(int)f=%d,f=%f\n",(int)f,f);中格式控制符里多了一个(int),引号里是用于格式控制的,强制转换不应该出现在格式控制里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
地摊秀子
2011-03-08 · TA获得超过108个赞
知道答主
回答量:51
采纳率:0%
帮助的人:28.4万
展开全部
C语言中只能从取值范围窄的类型 向取值范围宽的类型转换 否则 会出现编译错误。
意思就是:单精度型不能 转换为 其他类型 只能转换为 double 给你个 网址 你可以去看看,里面 介绍的很全面。 http://wenku.baidu.com/view/ed07fbcea1c7aa00b52acb7f.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
球坛评论员
2011-03-08 · 超过34用户采纳过TA的回答
知道答主
回答量:186
采纳率:0%
帮助的人:83.6万
展开全部
你这段程序是不是还没有完了.后面的括号呢?
然后printf里的也不对.你是不是想把F取整然后显示出来?最后那个i没有定义啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4bf6624
2011-03-08 · TA获得超过125个赞
知道小有建树答主
回答量:415
采纳率:0%
帮助的人:227万
展开全部
程序没完了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式