多字符文字到 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 个元素的数组,程序的行为未定义。
我尝试将多字符文字转换为 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 个元素的数组,程序的行为未定义。