gpt4 book ai didi

c - 带有数组的简单 C 程序未打印正确的输出

转载 作者:行者123 更新时间:2023-12-04 10:46:04 26 4
gpt4 key购买 nike

我写了这段非常愚蠢的代码

#include <stdio.h>
main(){
int new[10], i;
for(i=1; i<=10; ++i){
new[i] = 0;
}

for(i=1;i<=10; ++i)
{
printf("%d", new[i]);
}
}

我在 Xubuntu 上使用 GCC 编译了它,然后执行了 ./a.out。光标只是闪烁导致没有输出。尝试使用 gdb 进行调试时也是如此。它运行,然后停留在闪烁的光标处。

有什么帮助吗?

最佳答案

C 数组的索引为 0 - 您的程序在 new 数组的边界之外写入,因此会导致未定义的行为。在这种情况下,您可能会覆盖 i 变量,因此您会陷入无限循环。你需要改变你的循环:

for (i = 0; i < 10; i++)
{
new[i] = 0;
}

和:

for (i = 0; i < 10; i++)
{
printf("%d", i);
}

关于c - 带有数组的简单 C 程序未打印正确的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17816469/

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