lolmadlife锤石:C语言中的数组与指针问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/12 11:05:03
假如有: int a[10],*p,k;

为什么
for(p=a,k=0;k<10;k++)scanf("%d",p++);
可简化写成:
for(p=a;p-a<10;p++)scanf("%d",p);
解释一下

很简单,a表示a[10]的首地址&a[0],p-a即指针与首地址之间的距离,当p-a=10时,已指到数组的末尾,所以跳出,p++使指针不断指向下一个数组中的成员.

老兄,我怀疑你怎么学的?一看都能看懂,这么简单的幼稚问题上课你没听懂?