我尝试将多字符文字转换为字符数组。
我知道 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
char a [] ={static_cast<char>('adcde')};
这将创建一个包含 1 个元素的数组。元素的值是强制转换的结果。这将是一些实现定义的值。
cout << 'adcde' << endl;
这将打印多字符文字。这将是一些实现定义的值。
cout << a << endl;
这将打印一个字符数组。但是因为数组不包含空终止字符串,程序的行为是未定义的。
cout << a[3] << endl;
这会访问边界外的 1 个元素的数组,并且程序的行为是未定义的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句