char类型与int类型的转换

    在c语言中,char类型与int类型可以转换,如何转换我在此做一个粗略的总结

首先是char转换为int

#include <stdio.h>
int main()
{
	char a ;
	a = 110;
	int c = a;
	printf("%c\n", a);
	printf("%d\n", a);
	printf("%d", c);
	return 0;
}

结果为:n 110 110

即将ASC码强制转换为int

但当输入的数字大于127(ASC码的最大值)时,-128和127就像转盘一样连在一起,如果上述代码中a=128,则输出   一个意义不明的符号(因为-128在ASC码中没意义) -128 -128

如果a=256,则输出:空字符 0 0;即像轮盘一样转了回来。

同理,如果先定义int a=110再将其强制转换成char,即是将其转换成asc在打印出字母,若a在128~255间,则打印意义不明的字符,到256重新从0开始。

更多详情可以参考:(195条消息) char与int等数据类型的强制转化_THEALVA的博客-CSDN博客_int类型强制转换成char

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值