首页 > 试题广场 >

#include void foo(int...

[单选题]
#include <stdio.h>

void foo(int *p)
{
    p = p + 1;
    *p = 10;
}

int main()
{
    int arr[] = {1, 2, 3};
    
    foo(arr);
    
    printf("%d\n", arr[1]);
    
    return 0;
}
上面代码输出是什么?

  • 1
  • 2
  • 10
  • 编译错误
foo(arr);    将数组名(也就是数组的地址)传给void foo(int *p)
p = p + 1;    指针指向数组下标为1的元素
*p = 10;   * 解引用,将p指向地址的值改为10
printf("%d\n", arr[1]);    以%d的方式输出下标为1的元素
 结果为10
发表于 2025-11-24 16:21:57 回复(0)