#include<stdio.h>
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10};
int sz=sizeof(arr)/sizeof(arr[0]);
int i=0;
for(i=0;i<sz;i++)
{
printf("&arr[%d]=%p\n",i,&arr[i]);
}
return 0;
}
帮你改了
修改后的代码如下:
#include<stdio.h>
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10}; // 定义数组
int sz=sizeof(arr)/sizeof(arr[0]); // 计算数组大小
int i=0;
for(i=0;i<sz;i++) // 循环遍历数组
{
printf("&arr[%d]=%p\n",i,&arr[i]); // 输出数组元素的地址
}
return 0; // 程序结束
}
因为你的for循环后面多了个分号,你的循环语句就成了空语句,所以下面括号里的语句并不在循环体内,括号里的语句其实只执行了一次。