多字符文字到 char 数组

Multicharacter-literal to char array

我尝试将多字符文字转换为 char 数组。

我知道 static_cast 以及如何计算多字符

但是multi character-literal的结果如何插入到数组中

遵循代码。

#include <iostream>
using namespace std;

int main()
{
    char a [] ={static_cast<char>('adcde')};
    cout << 'adcde' << endl;
    cout << a << endl;
    cout << a[3] << endl;
}

输出:

1684235365
e05776
7
char a [] ={static_cast<char>('adcde')};

这将创建一个包含 1 个元素的数组。元素的值是强制转换的结果。这将是一些实现定义的值。

cout << 'adcde' << endl;

这将打印多字符文字。这将是一些实现定义的值。

cout << a << endl;

这将打印一个字符数组。但是因为数组不包含以 null 结尾的字符串,所以程序的行为是未定义的。

cout << a[3] << endl;

这会越界访问包含 1 个元素的数组,程序的行为未定义。