利矛之刃 发表于 2017-10-19 09:43:21

用指针在scanf函数中寻址的小问题

简单的代码如下
int i,*p,a[];
p=a;
for(i=0;i<10:i++)
{
scanf("%d",a++); //为什么这里可以写成p++,却不能写成a++,a++的话运行直接bug,a不也是个指针么???
}

weizhongyang 发表于 2017-10-19 10:01:59

a[]不是指针 ,是一个数组名,不能写成a++
p是一个指针 ,存储的是a的地址,可以做++运算。

ba21 发表于 2017-10-19 10:04:52

这就是语法,如果a++可以,那还要指针干嘛?
p++ 这里是指向下一个地址,就是 加一个int大小

而a++就是简单的地址加1
页: [1]
查看完整版本: 用指针在scanf函数中寻址的小问题