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

程序一:

[cpp]  view plain copy
  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]  view plain copy
  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,所以字符不可见

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