#include<stdio.h> main() { int a[2][3]={1,2,3,4,5,6}; printf("%d\n",a[0]-&a[0][0]); } 输出是0

#include<stdio.h>
main()
{
int a[2][3]={1,2,3,4,5,6};
printf("%d\n",a-&a[0][0]);

}
编译错误
a代表第0行元素首地址和&a[0][0]是同一个地址
但是为什么不能相减

由于是2维数组,所以,a[0] 与 &a[0][0] 是同一个地址。

#include <stdio.h>

void main()
{
int a[2][3]={1,2,3,4,5,6};
printf("%d\n",a[0]-&a[0][0]);
getchar();
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答