用指针在scanf函数中寻址的小问题
简单的代码如下int i,*p,a[];
p=a;
for(i=0;i<10:i++)
{
scanf("%d",a++); //为什么这里可以写成p++,却不能写成a++,a++的话运行直接bug,a不也是个指针么???
} a[]不是指针 ,是一个数组名,不能写成a++
p是一个指针 ,存储的是a的地址,可以做++运算。 这就是语法,如果a++可以,那还要指针干嘛?
p++ 这里是指向下一个地址,就是 加一个int大小
而a++就是简单的地址加1
页:
[1]