傲天 发表于 2015-8-22 21:48:51

在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的首地址和实际的首地址不一样,是我程序写的有问题还是系统的问题呢?

傲天 发表于 2015-8-22 21:50:25

下面的黑图是结果,不知道发完图怎么跑下面去了,上面白色的图是调试时候的数据
页: [1]
查看完整版本: 在WIN7里面用C语言,地址不一样的Bug,谁能解释下?