我尝试将多字符文字转换为char数组。
我知道static_cast以及如何计算多字符
但是如何将多字符文字的结果插入数组。
遵循代码。
#include <iostream>
using namespace std;
int main()
{
char a [] ={static_cast<char>('adcde')};
cout << 'adcde' << endl;
cout << a << endl;
cout << a[3] << endl;
}
输出:
1684235365
e\270\365\277\357\376
\277
答案 0 :(得分:0)
char a [] ={static_cast<char>('adcde')};
这将创建一个包含1个元素的数组。元素的值是强制转换的结果。这将是一些实现定义的值。
cout << 'adcde' << endl;
这将打印多字符文字。这将是一些实现定义的值。
cout << a << endl;
这将打印一个字符数组。但是,因为数组不包含以null终止的字符串,所以程序的行为是不确定的。
cout << a[3] << endl;
这将访问边界之外的1个元素的数组,并且程序的行为是不确定的。