用指针输出a数组的100个元素

我照着书上写,为什么运行出来的结果是这样的呢?请指出错误或者提出修改意见,谢谢!

数组没有初始化,所以输出的是随机数,修改如下,供参考:

#include <stdio.h>
int main()
{
    int a[100],*p,i=0;
    p = a;
    while(p < a+100){
        *p = i++;
        printf("%4d",*p++);
    }
    return 0;
}

1、在全局区定义一个未初始化的整型数组,值默认为0
2、在局部区定义一个未初始化的整型数组,值默认为随机值

第五行a前面加个取地址符号

我照着书上写,为什么运行出来的结果是这样的呢?
因为你在未初始化的情况下,输出指针变量里存的值就是地址,因此输出一大串,仔细观察可以发现是一连串元素的地址。
简单来说就是,不是这个程序有什么大错,而是这个程序输出的就是地址。

希望对题主有所帮助!可以的话,帮忙点个采纳!