| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 875 人关注过本帖
标题:这程序的运行结果怎么等于0了呢?
取消只看楼主 加入收藏
ayawawa
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-3-7
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
这程序的运行结果怎么等于0了呢?
#include<stdio.h>

  int main()
  
    {
     
     printf("8除以3=%d\n",8/3);        
     printf("8除以3=%f\n",8/3);
     printf("8除以3=%.1f\n",8/3);
        
      return 0;
        
        
    }

8除以3=2
8除以3=0.000000
8除以3=0.0

为何后两个运算结果为0呢?我预期是下面的:
8除以3=2.666667
8除以3=2.7

请问为何会出现这样的情况,想不通啊?
搜索更多相关主题的帖子: 运行 结果 
2010-03-07 11:45
ayawawa
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-3-7
收藏
得分:0 
类型不匹配,系统不会自动转换类型吗?那也不至于等于0吧?我是在widnows下,用chIDE运行的
2010-03-07 14:42
ayawawa
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-3-7
收藏
得分:0 
谢谢!这个强制类型转换的方法,我知道。只是没有搞明白里面的机制是怎样的?8/3结果是2,那么2以f%输出为何为0,整数是32位补码存储的,浮点数是以阶码64位存储的,是不是这个过程中有啥说法啊?
2010-03-07 17:01
快速回复:这程序的运行结果怎么等于0了呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012356 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved