Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26301
  • 博文数量: 16
  • 博客积分: 672
  • 博客等级: 上士
  • 技术积分: 150
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-02 22:48
文章分类

全部博文(16)

文章存档

2011年(2)

2010年(14)

我的朋友

分类: C/C++

2011-06-14 15:37:35


  1. main(){
  2.         int answer;
  3.         answer = 2 - 12;
  4.         printf("%%f: %f\n",answer);
  5.         printf("%%f(float): %f\n",(float)answer);
  6.         printf("%%d: %d\n",answer);
  7.         return 0;
  8. }
打印结果:
%f: 0.131055
%f(float): -10.000000
%d: -10

第一行为什么会是这样的结果呢?
在程序员眼中 int float ... 都是数据类型,但是在计算机内部不同的数据类型需要不同的存储方式和表示方法,我们把这个称为计算机内部的数据表示。
 printf("%%f: %f\n",answer);
这一行,告诉程序:用float数据类型去解释已经在计算机内部表示为int的数据,所以打印出一个随机值。

阅读(281) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~