在WIN7里面用C语言,地址不一样的Bug,谁能解释下?
多余的话不说了,直接上代码:
#include <stdio.h>
int f(int(*p));
void main()
{
int a={0,1,2,3,4,5,6,7,8};
int (*p);
int i,j;
p=a;
f(p);
printf("\n");
printf("%d,%d,%d,%d,%d,%d\n",*(p),p,p,*(p),*(p+1)+1,*(*(p+1)+1));
}
int f(int(*p))
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d\t",*(*(p+i)+j));
}
}
return (0);
}
结果如图:
在调试的时候,下面的数据是这样的:
数组a的首地址和实际的首地址不一样,是我程序写的有问题还是系统的问题呢? 下面的黑图是结果,不知道发完图怎么跑下面去了,上面白色的图是调试时候的数据
页:
[1]