您的位置:首页 > 其它

类型转换是的数据丢失问题

2013-03-13 20:45 323 查看
当把较长的整数转化为较短的整数或是char类型时,超出的高位部分将被丢弃。

程序一:

[cpp][/b] view plaincopy

#include <stdio.h>

int main()

{

int i;

char c;

i=65535;

c=48;

i=c;

c=i;

printf("char=%c\n",c);

printf("int=%d",i);

getchar();

}

输出为:



程序二:

[cpp][/b] view plaincopy

#include <stdio.h>

int main()

{

int i;

char c;

i=65535;

c=48;

c=i;

i=c;

printf("char=%c\n",c);

printf("int=%d",i);

getchar();

}

输出为:



因为c=-1,所以字符不可见
较低类型的数据转换为较高类型时,一般只是形式上有所改变, 而不影响数据的实质内容, 而较高类型的数据转换为较低类型时则可能有些数据丢失。本文出自 “驿落黄昏” 博客,请务必保留此出处http://yiluohuanghun.blog.51cto.com/3407300/1153598
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐