免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1570 | 回复: 5

输出问题。 [复制链接]

论坛徽章:
0
发表于 2012-06-09 07:20 |显示全部楼层
#include <stdio.h>

int main (void)
{
        int temp;

        for (temp = 0;temp <= 500;temp = temp + 20)
        {
                printf ("%d\t%f\n",temp,(5.0 / 9.0) * (temp - 32));
        }
}

=============分割=============

#include <stdio.h>

int main (void)
{
        int temp1,temp2;

        for (temp1 = 0;temp1 <= 500;temp1 = temp1 + 20)
        {
                temp2 = (5.0 / 9.0) * (temp1 - 32);
                printf ("%d\t%f\n",temp1,temp2);
        }
}


下面那个为什么不行?

论坛徽章:
0
发表于 2012-06-09 11:35 |显示全部楼层
回复 1# marsaber

格式转化问题      加个强制转化就没得问题了printf ("%d\t%f\n",temp1,(float)temp2);
printf函数不会进行任何类型转换,只是提取相应位数按照按照控制符输出相应的值。
float在内存中存储格式和整形是不一样的
   

论坛徽章:
0
发表于 2012-06-09 11:56 |显示全部楼层
:wink::wink:

论坛徽章:
0
发表于 2012-06-09 20:26 |显示全部楼层
回复 2# Moon_Bird

现在的输出是:
0       -17.000000
20      -6.000000
40      4.000000
60      15.000000
80      26.000000
100     37.000000
120     48.000000
140     60.000000
160     71.000000
180     82.000000
200     93.000000
220     104.000000
240     115.000000
260     126.000000
280     137.000000
300     148.000000
320     160.000000
340     171.000000
360     182.000000
380     193.000000
400     204.000000
420     215.000000
440     226.000000
460     237.000000
480     248.000000
500     260.000000

正常吗?
我的CentOS6.2 gcc-4.4.6

论坛徽章:
0
发表于 2012-06-09 20:50 |显示全部楼层
计算temp2时已经被转换成int了。。。当然结果不会对

论坛徽章:
0
发表于 2012-06-10 00:00 |显示全部楼层
回复 5# 201092244

谢谢,明白一些了。
非常感谢各位。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,8.5折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时8.5折扣期:2019年9月30日前


----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP