c语言中关于char的疑问
当我们使用char时用单引号圈入多个字符时,系统只读取最后一个字符是不是因为字符都是以8位ASCII码储存于内存,而char只读取最后的8位所以只有一个字符被存进字符型变...
当我们使用char时用单引号圈入多个字符时,系统只读取最后一个字符是不是因为字符都是以8位ASCII码储存于内存,而char只读取最后的8位所以只有一个字符被存进字符型变量中???????????????????????????????????
(这是不是与int可以以几位存储无关?) 展开
(这是不是与int可以以几位存储无关?) 展开
6个回答
展开全部
在C语言中,这叫多字符字符常量(multi-character character constant)。根据C语言标准,它的定义取决于编译器的具体实现(implementation-defined)。
例如:'abcd',这样的字符是合法的,它可以被赋值给一个int型变量。根据CPU的字节序不同,可能a在这个变量的高位字节而d在低位字节,也可能a在低位字节而d在高位字节。如果字符数量小于int长度,例如'abc',那么赋给一个int型变量时如何填充也取决于编译器,可以在左边填0,也可以在右边填0。将多字符字符常量赋给一个char型变量,根据CPU的字节序不同,可能是第一个字符被赋值给变量,也可能是最后一个字符被赋值给变量。
例如:'abcd',这样的字符是合法的,它可以被赋值给一个int型变量。根据CPU的字节序不同,可能a在这个变量的高位字节而d在低位字节,也可能a在低位字节而d在高位字节。如果字符数量小于int长度,例如'abc',那么赋给一个int型变量时如何填充也取决于编译器,可以在左边填0,也可以在右边填0。将多字符字符常量赋给一个char型变量,根据CPU的字节序不同,可能是第一个字符被赋值给变量,也可能是最后一个字符被赋值给变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询