gpt4 book ai didi

c - c中字符数组结束后会发生什么?

转载 作者:行者123 更新时间:2023-11-30 15:18:34 25 4
gpt4 key购买 nike

字符数组末尾存储了什么?我假设会有一些随机垃圾,但它在循环 10 次后没有打印任何内容。

char a[] = "Pencil";
int i;

for (i = 0; i < 10; i++)
{
printf("%c", a[i]);
}

所以字符数组 a 的大小为 7。for 循环循环直到第 10 个位置,即循环了 3 个值。但它没有打印任何内容或错误。这是怎么回事?

最佳答案

在 C 中访问超出数组末尾的行为是未定义的行为。您的程序可能会继续运行而不改变,也可能会严重崩溃,具体取决于数组末尾存储的内容。编译器不保证其中存储的内容 - 它可能是无用的内存,也可能对您的程序至关重要。

关于c - c中字符数组结束后会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31353563/

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