数组定义如下:int a[10]={1,2,3,4,5,6,7,8,9,0};请输出数组a的首址和下标变量a[0]的地址,二者是否相等?

题目就是这样,求大神能够写出源程序,万分感谢。。
2024-12-24 13:27:51
推荐回答(2个)
回答(1):

数组名就代表着数组的首地址,这里a就是数组名,即数组的首地址,而a[0]是数组中的第一个元素,它的地址当然就是这个数组的首地址了,所以数组a的首地址和a[0]的地址相等。

代码如下:

#include 

int main()

{

int a[10]={1,2,3,4,5,6,7,8,9,0};

printf("数组a的首地址为\t%d\n",a);

printf("a[0]的地址为\t%d\n",&a[0]);

return 0;

}

运行结果为:

回答(2):

那肯定相等了
#include
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,0};
printf("%d %d\n",a,&a[0]);
if(a==&a[0])
printf("二者相等\n");
else
printf("二者不等");
return 0;
}