C语言小白指针求解惑
偶尔小白我遇见了这个问题
#include<stdio.h>
int main()
{
int a[3] , *b,i;
b = a;
for (i = 0; i < 3; i++)
{
*b++ = i + 1;
}
for (i = 0; i < 3; i++)
{
printf("%d", *(b + i));
}
}
请大神解释为什么输出的是地址啊,如果printf("%d", *(b + i));改为printf("%d", *(a + i));就是数字了,按理来说这两个操作时一样的啊
还有我发现如果事先给数组赋值了,然后再用指针再指向数组首地址,那么输出无论用什么都可以了,困扰了一整天了,求解惑