gpt4 book ai didi

c++ - 使用指针循环数组

转载 作者:搜寻专家 更新时间:2023-10-31 01:39:49 26 4
gpt4 key购买 nike

char ch[] = {'h', 'e', 'l', 'l', 'o'};
char* p = ch;
while(*p){
std::cout << *p << std::endl;
++p;
}

这会打印数组的元素+垃圾但是,

int ch[] = {1, 2, 3, 4};
int* p = ch;
while(*p){
std::cout << *p << std::endl;
++p;
}

这只打印数组的元素,没有垃圾。

我只是 c++ 的初学者,我无法弄清楚这种行为背后的原因。

需要一些帮助。

最佳答案

while (*p) { 一直持续到它达到 0 值。在这两种情况下,您都没有确保有一个 0 终止您的数组,幸运的是一个有效而另一个无效't.

关于c++ - 使用指针循环数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30620953/

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