为什么我的代码输出最后会出错?

时间:2019-11-09 22:59:48

标签: visual-studio-code compiler-errors g++

今天,我尝试设置vscode进行c ++编译,并且在编译了简单的cpp程序后,我看到输出错误,我也不知道为什么。

这是我的代码:https://pastebin.com/iLSVHW7T

#include <iostream>

using namespace std;

int main(){
    int x[3],i,n;
    cin>>n;
    for(i=0;i<=n;i++)
    cin>>x[i];
    for(i=0;i<=n;i++)
    cout<<x[i]<<" ";
}

This image shows what is going wrong.

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

问题是for循环中使用的<=。 C ++和C中数组的第一个元素的索引为0,因此i必须小于n以避免溢出。

在您的代码中读取从0到3的所有元素。但是此数组的最大元素数为2,因此您又读取了一个没有实际值的元素。

因此,将<=替换为<