您当前的位置: 百科371电脑/网络C/C++ → 电脑/网络内容 退出登录 用户管理 用户注册
本类热门文章
相关文章
中原建材网
关于单双精度的问题

减小字体 增大字体

问题:我要定义x=1.2;y=2.4;z=-3.61.当我定义他们为float时,系统报错truncation from const double to float ,为什么?2.当我要求显示printf(x=%8.6f,y=%8.6f,z=%9.6f\n,a,b,c);时,显示为 x=0.000000,y=0.000000,z=1.#QNANO,而我要求显示printf(x+y=%5.2f y+z=%5.2f z+x=%5.2f\n,x+y,y+z,z+x);时,就能正常显示结果,这是为什么呢?请问要怎么改正呢?  

把整个程序贴上来
printf("x=%8.6f,y=%8.6f,z=%9.6f\n",a,b,c);
a,b,c都是int数据,用f方式显示int,需要强制转化,这样直接写是无法正常转化为float数据的
x,y,z定义成什么应该不会报错,除非你声明的时候是double,之后赋值时又强制转换。

如果你对我要定义x=1.2;y=2.4;z=-3.61.当我定义他们为float时,系统报错truncation from const double to float ,为什么?2.当我要求显示printf(x=%8.6f,y=%8.6f,z=%9.6f\n,a,b,c);时,显示为 x=0.000000,y=0.000000,z=1.#QNANO,而我要求显示printf(x+y=%5.2f y+z=%5.2f z+x=%5.2f\n,x+y,y+z,z+x);时,就能正常显示结果,这是为什么呢?请问要怎么改正呢?这个问题有好的意见或 建议,请留言
[] [返回上一页] [打 印]
电脑/网络评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

中原建材网 简单版 站长QQ:382546553