为了账号安全,请及时绑定邮箱和手机立即绑定

结果为什么没变?传递的是地址,在fun函数里不是把那个地址空间的值改了么?

结果为什么没变?传递的是地址,在fun函数里不是把那个地址空间的值改了么?

C
慕粉3847971 2016-09-16 09:46:16
#include <stdio.h>#include <string.h>void  fun ( char  *s ){      char  a[10];    strcpy( a, "STRING" );    s = a;}main(){      char  *p="PROGRAM";    fun( p );    printf("%s\n",p); }程序运行后的输出结果是 PROGRAM
查看完整描述

1 回答

?
汉江怪人

TA贡献50条经验 获得超11个赞

虽然用了指针,但传进去到了函数里就变成形参里的指针了,改变那个指针的值不会对外面的指针造成影响,所以,要改指针的地址就应该传入指针的地址,也就是指针的指针才有效。。。

查看完整回答
反对 回复 2016-09-16
  • 1 回答
  • 1 关注
  • 1133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信