【C语言】类型转换 灰太狼 2022-06-13 12:22 261阅读 0赞 > 如果表达式里包含多个不同类型的数字就必须首先把它们转换成同一个类型然后才能计算 这个转换过程叫做隐式类型转换,完全由计算机完成 >隐式类型转换过程中一定把占地小的类型转换成占地大的类型 printf("sizeof(1 ? 1 : 0.9)是%d\n", sizeof(1 ? 1 : 0.9)); ?>如果不同类型存储区大小一样就把整数类型转换成浮点类型,把有符号类型转换成无符类型 printf("-7 + 3 > 0是%d\n", -7 + 3 > 0); printf("-7 + 3u > 0是%d\n", -7 + 3u > 0);//u将3转换成无符号型的,结果将有符号的转成无符号的 >%u 十进制无符号整数 >C语言里可以临时给一个数字指定一个类型,这叫做强制类型转换 强制类型转换格式如下 (char)300 强制类型转换有可能导致数据内容丢失 printf("(char)300是%d\n", (char)300);//结果将300转换成了44,数据发生了错误 >类型转换不会修改现有存储区的内容,计算机会产生一个新存储区用来记录转换后的数字 /* * 类型转换演示 * */ #include <stdio.h> int main() { printf("sizeof(1 ? 1 : 0.9)是%d\n", sizeof(1 ? 1 : 0.9)); printf("-7 + 3 > 0是%d\n", -7 + 3 > 0); printf("-7 + 3u > 0是%d\n", -7 + 3u > 0); printf("(char)300是%d\n", (char)300); return 0; } ![这里写图片描述][SouthEast] [SouthEast]: /images/20220613/2747a6b21f8c4cbf9440d81e9f94d270.png
还没有评论,来说两句吧...