请有人告诉我这段代码有什么问题吗?
#include <iostream>
using namespace std;
int main() {
int a[3], i;
for(i = 0; i <= 3; i++ )
{
a[i] = 0;
cout << "i = " << i << endl;
}
return 0;
}
答案 0 :(得分:1)
此代码的数组长度仅为 3
,但 for 循环执行 4
次,因为循环从 0 到 3 执行。i
的值将如下所示:< /p>
i = 0
i = 1
i = 2
i = 3
由于数组 a[3]
的长度是 3,但是您尝试将 4
元素放入其中当然会显示错误:
*** stack smashing detected ***: terminated
Aborted (core dumped)
尝试改变数组长度或循环条件。