结果为什么没变?传递的是地址,在fun函数里不是把那个地址空间的值改了么
#include
#include
void fun ( char *s )
{
char a[10];
strcpy( a, "STRING" );
s = a;
}
main()
{
char *p="PROGRAM";
fun( p );
printf("%s\n",p);
}程序运行后的输出结果是
PROGRAM |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
虽然用了指针,但传进去到了函数里就变成形参里的指针了,改变那个指针的值不会对外面的指针造成影响,所以,要改指针的地址就应该传入指针的地址,也就是指针的指针才有效。。。 |
|
|
|
|