小编non*_*one的帖子

使用指针循环遍历数组

C ++中的以下程序输出的输出超出我的预期。谁能解释为什么会这样?该程序尝试使用指针遍历整数数组,并沿途打印每个值。

#include <cstdio>
using namespace std;

int main(int argc, char **argv) {
    puts("hi");
    int ia[5] = {1,2,3,4,5};
    for (int *p = ia; *p; ++p) {
        printf("Char is: %d\n", *p);
    }
    return 0;
}

/*
 hi
 Char is: 1
 Char is: 2
 Char is: 3
 Char is: 4
 Char is: 5
 Char is: 32767
 Char is: -811990796
 Char is: -133728064
 Char is: 1606416320
 Char is: 32767
 Char is: -1052593579
 Char is: 32767
 Program ended with exit code: 0
*/
Run Code Online (Sandbox Code Playgroud)

c++ pointers

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×1

pointers ×1