C++ 按enter键后的数组输入变为0

C++ 按enter键后的数组输入变为0,c++,C++,我们看到输出是: 23 53 09 23 53 10 为什么在我按enter键后,最终_时间的起始输入等于0 如何解决此问题?您正在通过对数组aa进行越界索引来调用未定义的行为 for循环 23 0 53 53 9 10 for(i=0;iinta[10]; 对于(i=0;我刚刚运行了您在我的本地计算机中提供的相同代码。我得到了预期的结果作为输出,没有错误。请您重新检查输入。这修复了我的错误,但是底部循环如何影响上部循环?如果我要访问[10]而且它不存在,因为我正在访问一个尚未分配的内存

我们看到输出是:

23 53 09
23 53 10 
为什么在我按enter键后,最终_时间的起始输入等于0


如何解决此问题?

您正在通过对数组
a
a进行越界索引来调用未定义的行为

for循环

23 0
53 53 
9 10
for(i=0;i
inta[10];

对于(i=0;我刚刚运行了您在我的本地计算机中提供的相同代码。我得到了预期的结果作为输出,没有错误。请您重新检查输入。这修复了我的错误,但是底部循环如何影响上部循环?如果我要访问[10]而且它不存在,因为我正在访问一个尚未分配的内存,所以我应该正确地获得分段错误?@BandrevuAkhil编辑以获取更多详细信息。这修复了我的错误,但底部循环如何影响上部循环?如果我要访问[10]而且它不存在,因为我正在访问一个尚未分配的内存,所以我应该正确地获得分段错误?@BandrevuAkhil内存分配的单位比单个数组的大小更大。访问数组外部并不总是会得到错误,它只会访问分配给其他变量的内存或由implem使用的内存内倾。
23 0
53 53 
9 10
for(i=0;i<=10;i++)
        ~~~
    int a[10];
    for(i=0;i<=10;i++)
        a[i]=0;