gpt4 book ai didi

c++ - 数组循环在循环结束后输出垃圾

转载 作者:太空宇宙 更新时间:2023-11-04 15:43:47 25 4
gpt4 key购买 nike

我正在学习在 C++ 中使用数组。这是我为练习这些概念而制作的一个非常简单的程序。但是,当我启动程序时,命令提示符在输出 1 2 3 4 后输出垃圾。

当我将循环中数组的大小更改为 2 时,它起作用了。当我将它更改为零时,它仍然输出两个值。这是怎么回事?为什么数组表达式为2时输出4个值?当它只有 2 个值时,它不应该只输出 3 个值吗?

#include <iostream>
#include <conio.h>

int main()
{
int array[4] = { 1, 2, 3, 4 };

for (unsigned int i = 0; i <= array[3]; i++)
{
std::cout << array[i] << "\n" << std::flush;
}


_getch();
return 0;
}

最佳答案

array[3] = 4所以当i == array[3] == 4您尝试访问 array[4]未定义。你真的应该使用 i < array[3]或者(更好)i < 4因为如果你有

int array[4] = { 0, 2, 5, 100 }

然后使用 array[3]将是 100,您将尝试循环 100 次。

关于c++ - 数组循环在循环结束后输出垃圾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20023137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com