C语言进阶:[5]数值的转换

 时间:2026-04-22 16:37:07

数值之间有时候需要转换,这时候十分容易出问题。分几种情况:

一:范围小的转换为范围大的:如int转换为long,或float,double。这时候,转换正常。

二:范围小的转换为范围大的:

    1>范围大的数据变量所表示的数值在范围小的数值变量内,这时候转换是正确的。例如:

            int x = 123;

            float y = 234.3f;

            x = y;

            printf("%d\n",x);

   显示结果:

C语言进阶:[5]数值的转换

     2>范围大的数据变量所表示的数值不在范围小的数值变量内,例如

            int x = 123;

            float y = 232333232344.3f;

            x = y;

            printf("%d\n",x);

   显示结果不正确。

C语言进阶:[5]数值的转换

如果加上强制类型转换,结果也是不正确的。如果转换不得已,那么可以用浮点数的值和整型的最大值比较一下,就可以了,代码如下

            int x = 123;

            float y = 232333232344.3f;

            if(y<INT_MAX)

                x = y;

            printf("%d\n",x);

总之数据类型之间的转换非常危险,一定要注意。

                         

(共篇)上一篇:VC开发C语言过程|下一篇:
  • bool类型怎么用
  • C语言怎么定义变量
  • 如何用DEV-C++编写一个简单的C程序
  • C语言中如何用键盘输入字符串并输出
  • codeblocks的基本使用方法
  • 热门搜索
    旅游地图全图高清版 来月经可以吃西瓜吗 一楼潮湿怎么办 小麦粉可以做什么 我有5万怎么理财 简历求职意向怎么写 怎么祛痘最快最有效 北京现代音乐学院怎么样 清明旅游 假如时间可以倒流作文