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

问题描述 投票:0回答:1

[今天,我尝试设置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]<<" ";
}

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9WSUxyWi5wbmcifQ==” alt =“此图像显示了问题所在。”>

感谢您的时间。

visual-studio-code compiler-errors g++
1个回答
1
投票

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

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

因此将<=替换为<

© www.soinside.com 2019 - 2024. All rights reserved.