#include<iostream> using namespace std; int main() { int a[12]; int i = 1; for (; i < 13; i++) a[i] = i; while (*a) { cout << *(a+i); i++; } }
时间: 2023-06-21 15:19:37 浏览: 129
#include <iostream>
这段代码有一个问题,数组 `a` 的大小为 `12`,但在 `for` 循环中却访问了 `a[12]`,这是越界访问,会导致不可预知的后果。应该将循环条件改为 `i < 12`。另外,在 `while` 循环中,应该用 `i` 作为数组下标,而不是 `a+i`。因此,代码应该改为以下形式:
```c++
#include<iostream>
using namespace std;
int main() {
int a[12];
int i = 0;
for (; i < 12; i++)
a[i] = i+1;
i = 0;
while (i < 12) {
cout << a[i];
i++;
}
return 0;
}
```
这段代码的作用是创建一个包含数字 1 到 12 的数组 `a`,然后使用 `while` 循环遍历数组并输出数组元素。输出结果应该为:`123456789101112`。
阅读全文