当把较长的整数转化为较短的整数或是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();
- }
输出为:
程序二:
- #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,所以字符不可见
当较低类型的数据转换为较高类型时,一般只是形式上有所改变, 而不影响数据的实质内容, 而较高类型的数据转换为较低类型时则可能有些数据丢失。
转载于:https://blog.51cto.com/yiluohuanghun/1153598