博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类型转换是的数据丢失问题
阅读量:5811 次
发布时间:2019-06-18

本文共 490 字,大约阅读时间需要 1 分钟。

 当把较长的整数转化为较短的整数或是char类型时,超出的高位部分将被丢弃。

程序一:

[cpp] 
  1. #include <stdio.h>  
  2. int main()  
  3. {  
  4.     int i;  
  5.     char c;  
  6.   
  7.     i=65535;  
  8.     c=48;  
  9.   
  10.     i=c;  
  11.     c=i;  
  12.   
  13.     printf("char=%c\n",c);  
  14.     printf("int=%d",i);  
  15.     getchar();  
  16. }  


输出为:

 

 

程序二:

[cpp] 
  1. #include <stdio.h>  
  2. int main()  
  3. {  
  4.     int i;  
  5.     char c;  
  6.   
  7.     i=65535;  
  8.     c=48;  
  9.   
  10.     c=i;  
  11.     i=c;  
  12.     printf("char=%c\n",c);  
  13.     printf("int=%d",i);  
  14.     getchar();  
  15. }  

输出为:

因为c=-1,所以字符不可见

较低类型的数据转换为较高类型时,一般只是形式上有所改变,  而不影响数据的实质内容, 而较高类型的数据转换为较低类型时则可能有些数据丢失

     本文转自 驿落黄昏 51CTO博客,原文链接:http://blog.51cto.com/yiluohuanghun/1153598,如需转载请自行联系原作者

你可能感兴趣的文章
Web应用开发周期
查看>>
nginx一致性hash
查看>>
keepalived+lvs
查看>>
正则实例
查看>>
开源 java CMS - FreeCMS2.8 自定义标签 channelPage
查看>>
底部固定宽度 鼠标拉到最后宽度变小怎么解决
查看>>
ubuntu10.10下安装OpenCV2.2.0
查看>>
10.vue router 带参数跳转
查看>>
在腾讯的一点儿感悟
查看>>
PKI之——CA 部署
查看>>
我的友情链接
查看>>
个人开公司的流程,以后用得着(转)
查看>>
自动部署系统
查看>>
DSP网络子系统
查看>>
我的友情链接
查看>>
第一次尝试写IT博客
查看>>
struct字节分配问题
查看>>
Error string types not allowed at android:configChanges in manifest file
查看>>
mysql服务器主从服务器设置
查看>>
文件管理、命令别名和glob
查看>>