0
点赞
收藏
分享

微信扫一扫

C语言类型转换

秀儿2020 2022-01-21 阅读 182
/* convert.c -- 自动类型转换 */
#include <stdio.h>
int main(void)
{
char ch;
int i;
float fl;
fl = i = ch = 'C'; /* 第9行 */ //定义变量值 
printf("ch = %c, i = %d, fl = %2.2f\n", ch, i, fl); /* 第10行 */
ch = ch + 1; /* 第11行 */ //24个字母里加一即是向下一位进一 
i = fl + 2 * ch; /* 第12行 */ //在这里fl是原来为C的时候的值为67 ch为加一D的值 即是68 
fl = 2.0 * ch + i; /* 第13行 */ //136+203=309 
printf("ch = %c, i = %d, fl = %2.2f\n", ch, i, fl); /* 第14行 */
ch = 1107; /* --第15行 --演示了类型降级的示例。把ch设置为一个超出其类型
范围的值,忽略额外的位后,最终ch的值是字符S的ASCII码。或者,更确切
地说,ch的值是1107 % 265,即83。*/
printf("Now ch = %c\n", ch); /* 第16行 */
ch = 80.89; /* 第17行 *类型转换即截断/
printf("Now ch = %c\n", ch); /* 第18行 */
return 0;
}

如上诉代码所示,在C语言中,如果直接给char类型的值+1,如果它为24字母时会自动变成下一位。如果强制给char类型赋值,超出了它的限制位置会直接忽略赋值额外的位数,最终ch的编码会变成ASCII码。下面为输出结果页:

 

举报

相关推荐

0 条评论