怎样理解字符常量
的有关信息介绍如下:对新手而言,初学编程会有许多很难逾越的“坎”。然而,只要越过了这些“坎”,又会发觉“柳暗花明又一村”。就拿最简单的“字符常量”来说吧,在C语言中,它是以 4 个字节来存储的,而不是 1 个字节。
下面,我们来通过一个具体的例子,来理解这句话的含义。
在 C 语言中,字符常量是以 4 个字节来存储的。请根据这一特性,输出字符常量 'PATE'。
许多朋友初看此题,不免傻眼了。'PATE'明明不是一个字符,而是一个由 4 个字符组成的字符串呀,而且,字符串应该用“ ”括起来,题目是不是出错了?
其实不然。在上题中,由于 PATE 使用 ' ' 括起来,C语言将它当成一个字符常量,并用 4 个字节来存储它。
首先,我们定义一个整型变量 val(大小为 4 字节)来存储'PATE'。
接着,我们可以尝试这样考虑:能不能将这个整形变量右移相应的字节,并将它强制转换为字符类型输出呢?这样,我们便能输出在最末字节位上的字符。
不过,这样仍没有达到题目的要求。题目要求是输出 PATE 4 个字符,我们这样只能输出一个字符。但是,我们可以通过一个循环达到目的:
将原来保存到 int 变量中的字符常量依次右移三字节(24 位)、两字节(16 位)、一字节(8位)、零字节(0位),然后再强制转换为字符类型输出不就行了吗?
全部的代码如图所示。
下面是运行截图。