[求助]关与调用函数与主函数之间参数问题...
哪位高手解释下:www(int *q)
{int *n;
*n=8;
q=n;
return *q;
}
main()
{ int a=5;int *p;
p=&a;
www(p);
printf("%d",*p);
getch();
}
最后出来的结果是8,为什么?
不是说指针变量做函数参数
调用函数不可能改变实参指针变量的值,
但可以改变实参指针所指变量的值 吗?
----------------解决方案--------------------------------------------------------
很可怕的代码。。。。。。。。。
----------------解决方案--------------------------------------------------------
又谭浩强的弟子
----------------解决方案--------------------------------------------------------
main()
{ int a=5;int *p;
p=&a;
www(p);/*//////////
↓传递
www(int *q)
{int *n;
*n=8;
q=n;//////覆盖了上面的p
return *q;
}
/////////////*/
printf("%d",*p);
getch();
}
是不是这样呢?
----------------解决方案--------------------------------------------------------
不是讲不会改变指针么?怎么可能又覆盖了啊?
----------------解决方案--------------------------------------------------------
你的函数传递的是指针地址啊,经过www()后指针地址改变了,指针值当然也变了
----------------解决方案--------------------------------------------------------