指向多位数组元素的指针变量问题
程序代码:
#include<stdio.h>
void main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int *p;
for(p=a[0];p<a[0]+12;p++)
{
if((p-a[0])%4==0)
printf("\n");
printf("%4d",*p);
}
printf("\n");
}
结果输出是:
1 3 5 7
9 11 13 15
17 19 21 23
为什么for语句里面的if((p-a[0])%4==0)会是对4求余,我的理解是p是指针,代表的是地址,整形变量占2个字节,要4个数换行的话,应该是对8求余才对,求高手解释下···




