B数组长度是5,给了6个元素。所以错了
D是正确的,因为char类型可以自动转换为int类型,而且char类型的取值范围在int类型的取值范围内,所以可以将char类型的数组赋值给int类型的数组。但是将int类型的元素赋值给double类型的数组是不可以的,因为int类型的取值范围比double类型的取值范围小,存在精度损失的问题。
代码示例:
#include <iostream>
using namespace std;
int main() {
char charArray[] = {'a', 'b', 'c'};
int intArray[3];
double doubleArray[3];
// 将char类型的数组赋值给int类型的数组
for (int i = 0; i < 3; i++) {
intArray[i] = charArray[i];
cout << intArray[i] << " ";
}
cout << endl;
// 将int类型的元素赋值给double类型的数组
for (int i = 0; i < 3; i++) {
doubleArray[i] = intArray[i];
cout << doubleArray[i] << " ";
}
cout << endl;
return 0;
}
输出结果:
97 98 99
97 98 99
97 98 99