当前位置:天才代写 > tutorial > C语言/C++ 教程 > C语言中范例转换时的数据丢失问题

C语言中范例转换时的数据丢失问题

2017-11-02 08:00 星期四 所属: C语言/C++ 教程 浏览:481

当把较长的整数转化为较短的整数或是char范例时,超出的高位部门将被扬弃。

措施一:

#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();     
}

输出为:

C语言中典型转换时的数据丢失问题

措施二:

#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语言中典型转换时的数据丢失问题

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

当较低范例的数据转换为较高范例时,一般只是形式上有所改变,  而不影响数据的实质内容, 而较高范例的数据转换为较低范例时则大概有些数据丢失。

本文出自 “驿落薄暮” 博客,请务必保存此出处http://yiluohuanghun.blog.51cto.com/3407300/1153598

 

    关键字:

天才代写-代写联系方式