C中的多字节整数变量

dum*_*egn 3 c ascii

我想知道,如何用单引号计算字符串的整数值' '.

我的示例代码是:

#include <stdio.h>

int main()
{
    int c = 'aA';
    int d = 'Aa';

    printf( "%d %d" , c, d);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是:

24897 16737
Run Code Online (Sandbox Code Playgroud)

那些数字是多少?有没有计算它们的公式?

小智 5

这些是:

  1. 不是字符串!

  2. 多字节整数,其值是实现定义的,但通常使用以下公式计算:

    integer value of 1st character multiplied by (2 << CHAR_BITS) + integer value of 2nd character

因此,假设您的C语言环境使用ASCII并且您有8位字节,则'aA'变为

97 * 256 + 65
Run Code Online (Sandbox Code Playgroud)

这是24897.

多字符文字属于类型int.