Pra*_*eep 1 c pointers function pass-by-reference
我希望以下程序的输出为5,但编译器显示20.有人可以解释一下原因吗?
#include <stdio.h>
int a=5;
change1(int *p);
int main(void)
{
int x=20,*ptr=&x;
change1(ptr);
printf("%d ",*ptr);
return 0;
}
change1(int *p)
{
p=&a;
}
Run Code Online (Sandbox Code Playgroud)