练习3.30
含10个元素的数组的最后一个元素的索引是9,不能是10,代码更改如下:
int main() {
constexpr size_t array_size = 10;
int ia[array_size];
for (size_t ix = 0; ix < array_size; ++ix)
{
ia[ix] = ix;
cout << ia[ix] << " ";
}
}
练习3.31
string sa[10]; //10个空串
int ia[10]; //10个初始值为0的整数
int main() {
string sa2[10];//10个空串
int ia2[10]; //10个元素,但含有未定义的值
}
练习3.32
int main() {
int ia[] = { 0,1,2 };
int ib[] = ia;//错误,不允许使用一个数组初始化另一个数组
}
int main() {
vector<int> ia = { 0,1,2 };
vector<int> ib = ia; //正确
}
练习3.33
错误:
int main() {
unsigned scores[11];
unsigned grade;
while (cin >> grade) {
if (grade <= 100)
++scores[grade / 10];
}
for (auto i : scores)
cout << i << " ";
}
正确:
int main() {
unsigned scores[11] = {};
unsigned grade;
while (cin >> grade) {
if (grade <= 100)
++scores[grade / 10];
}
for (auto i : scores)
cout << i << " ";
}
