c语言指针+全局变量?
程序代码:#include<stdio.h>
int k=2;
void fun(int *p){
p=&k;
}
int main( )
{
int a=5,*p=&a;
fun(p);
printf("%d,%d\n",a,*p);
return 0;
}请问大家这个程序为什么不输出2,2而是5,5呢?
程序代码:#include<stdio.h>
int k=2;
void fun(int *p){
p=&k;
}
int main( )
{
int a=5,*p=&a;
fun(p);
printf("%d,%d\n",a,*p);
return 0;
}
2020-11-25 21:24
2020-11-25 23:52
程序代码:void fun(int *p){ //参数p的值是一个内存地址,地址传递传的也是一个表示地址的数字
p=&k; //把内存地址修改成了k的地址,传进来的内存地址所在区域的值并没有变,试试 *p=k
//修改后的p并没有被传回去。
}
2020-11-26 01:31
2020-11-26 10:27
2020-11-26 14:47
2021-08-10 09:54