对C语言中的字符的更进一步的认知

期末考试将近,开始复习C语言,发现自己的基础概念掌握得还不是很牢固,竟然对字符的认知都不全面。


在C语言中,字符是以ASCII码的形式存储在内存中的(值得注意的是存进去的ANSCII码最终转换成了二进制存在了内存单元中),只能用单引号’A’来表示字符。

一个有趣的问题:

在C语言中,‘1’+'1"=?
上机运行程序看看:
在这里插入图片描述
得到的结果是98和b,这是为什么呢?
查阅ANSCII表才知道,'1’这个形状(我是说 1 )的ANSCII码为49,那么两个49相加肯定等于98啦,刚好98是’b’的ANSCII码。这就输出了98和b。

总结
在C中,整数1和字符1完全是两回事
所有系统中,都用一个字节(8位)存储字符(详见谭老红宝书P48)

猜你喜欢

转载自blog.csdn.net/weixin_43888800/article/details/112059129