c语言中单引号中两个字符的用法
单引号文本的类型为c语言中单引号中两个字符的用法,c,C,单引号文本的类型为int。因此,大小通常足够大,可以容纳多个字符的位。据我所知,字符的确切解释方式取决于实现 在您的情况下,您将获得一个小小的endian排序: 'a'的ASCII值为97(0x61) 'g'的ASCII值为103(0x67) 您的值是24935=0x6167,因此您将在较高的字节中获得'a',在较低的字节中获得'g'。单引号中多个字符的含义由实现定义 6.4.4.4 整数字符常量的类型为int。整数的值 字符常量,其中包含映射到 单字节执行字符是 被解释为整数的映射字符的表
int
。因此,大小通常足够大,可以容纳多个字符的位。据我所知,字符的确切解释方式取决于实现
在您的情况下,您将获得一个小小的endian排序:
的ASCII值为97(0x61)'a'
的ASCII值为103(0x67)'g'
您的值是24935=0x6167,因此您将在较高的字节中获得
'a'
,在较低的字节中获得'g'
。单引号中多个字符的含义由实现定义
6.4.4.4
整数字符常量的类型为int。整数的值
字符常量,其中包含映射到
单字节执行字符是
被解释为整数的映射字符的表示形式。这个
包含多个字符的整数字符常量的值
一个字符(如“ab”),或包含字符或转义符
不映射到单字节执行字符的序列为
实施定义
例如,在这种情况下,
24935
是0x6167
:字符a
和g
的ASCII值并排出现。请参见确认实现定义部分:ISO/IEC 9899,6.4.4.4:10:包含多个字符的整数字符常量的值(例如,“ab”),或包含不映射到单字节执行字符的字符或转义序列,是实现定义的。
#include<stdio.h>
int main()
{
char ch = 'A';
printf("%d\n",'ag');
printf("%d\n",'a');
printf("%d, %d, %d, %d", sizeof(ch), sizeof('a'), sizeof('Ag'), sizeof(3.14f));
return 0;
}
24935
97
1, 4, 4, 4