经典指数          
原因
654
浏览数
0
收藏数
 

运行下面这段C语言程序之后,输出在屏幕上的结果是:
void foobar(int a, int *b, int **c)
{
    int *p = &a;
    *p = 101;
    *c = b;
    b = p;
}

int main()
{
    int a = 1;
    int b = 2;
    int c = 3;
    int *p = &c;
    foobar(a, &b, &p);
    printf("a=%d, b=%d, c=%d, *p=%d\n", a, b, c, *p);
    return (0);
}
  • a=1, b=2, c=3, *p=2
  • a=101, b=2, c=3, *p=2
  • a=101, b=101, c=2, *p=3
  • a=1, b=101, c=2, *p=3

     举报   纠错  
 
切换
1 个答案
实际中,函数 foobar改变的一直是地址,而不是地址的值,所以不影响地址里面的值
 
切换
撰写答案
扫描后移动端查看本题