注册 登录
编程论坛 C语言论坛

大佬求解

奇数层 发布于 2022-08-30 09:30, 922 次点击
int main()
{
    int arr[100];
    int i = 0;
    for (i = 0; i < 3; i++)
    {
        scanf("%d", &arr[i]);
    }
    for (i = 0; i < 3; i++)
    {
        printf(" %d", arr[i]);

    }
    return 0;
}


为什么这里的scanf函数要加&呢?
arr[i]不是第i个元素的地址吗?
2 回复
#2
不会游泳的虾2022-08-30 10:05
arr[i]是数组第i个元素,&arr[i]是取第i个元素的地址。
 arr+i是第 i 个元素地址,scanf("%d", &arr[i]); 可以写为:scanf("%d", arr+i); 首地址 + 偏移量。
#3
奇数层2022-08-30 15:12
回复 2楼 不会游泳的虾
哦哦,清楚明白
1