【发布时间】:2012-04-21 08:17:21
【问题描述】:
我有两个关于 char 数组的问题。
-
从下面的代码来看,既然
arr是const,为什么我正在重写它,编译器不给我一个错误?char arr[5]; // arr is a const pointer to (*)[5] array cin>>arr; // -
当我像这样初始化一个 char 数组时:
char arr[5]={'h','i'};如果我这样做了:
cout << arr << "something here \n";它将打印
hisomething here。我认为它应该打印出来hi something here有 3 个空位。
但如果我这样做:
for(int i = 0; i < 5; i++){ cout << arr[i]; }它将打印出 3 个空格。
第二种情况似乎证明编译器没有添加任何空字符。那么编译器如何忽略这 3 个空格呢?
【问题讨论】:
标签: c++ arrays chat null-character