有关i地址&i的类型问题的疑惑
程序代码:#include<stdio.h>
int main()
{
int i;
int a[4];
printf("%p\n",&i);
printf("%p\n",(int)&i);
printf("%p\n",a);
printf("%p\n",(int)a);
printf("%p\n",(&i-a));
printf("%p\n",((int)&i-(int)a));
return 0;
}这个程序在turbo c 2.0 运行是正常的,没有提醒和错误,但是两个printf打出来的结果是不同的。而在vc6.0中编译通不过,提示&i-a这个操作是不可以的,那么&i是一个地址,a也是一个地址,而(int)&a与&a打印出来的结果是一样的,而且看起来都是4位的整型,为什么turbo
c 中打印出来的差不一样,而vc6.0却编译根本通不过呢?






