C语言不可能通过执行调用函数来改变实参指针变量的值

不可能通过执行调用函数来改变实参指针变量的值,但是可以改变实参指针变量所指变量的值。为什么不能,但是我改变了啊!# include <stdio.h>int test(int * p)
{
int a = 100;

return a;
}int main(void)
{
int a = 3;
int * p; p = &a;

printf("%d\n",p);
p = test(p);
printf("%d\n",p); return 0;
}

第1个回答  2013-12-19
你这个程序编译没错误?主函数的实参为p,p得到的是a的地址,而返回的普通变量a能赋给p?还能用整数格式直接输出p?这样p本是指针变量,后赋值为a,合理吗?
相似回答