免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: spooky
打印 上一主题 下一主题

[C] 求教关于指针传递的问题 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-07-26 19:53 |只看该作者
原帖由 ilex 于 2008-7-26 19:09 发表



也是错的.............
看来我不算最毛糙的,(没验证过的我不会往上面贴)

没觉得有错呢,你再试一试吧.
( 如果你编译出问题,不会是用c++扩展编译了吧.. )


[ 本帖最后由 gtkmm 于 2008-7-26 20:20 编辑 ]

论坛徽章:
0
22 [报告]
发表于 2008-07-26 20:01 |只看该作者
原帖由 ilex 于 2008-7-26 19:09 发表



也是错的.............
看来我不算最毛糙的,(没验证过的我不会往上面贴)


这个代码那里错呢?我倒是认为它没什么问题

论坛徽章:
0
23 [报告]
发表于 2008-07-26 21:43 |只看该作者
基本可以作为考试改错题了,而且得分点不少

论坛徽章:
0
24 [报告]
发表于 2008-07-28 15:11 |只看该作者

回复 #21 gtkmm 的帖子

错倒是没错,但是仅限于你写的情况
因为是字符串常量 “abcde”,如果不是字符串常量就会错了
比如1楼所写的
char a[LEN]="abcde";

如果你的
*msg_ptr=a;
接上去,不就错了嘛
所以你这段代码没错,但是没有意义。

论坛徽章:
0
25 [报告]
发表于 2008-07-28 17:25 |只看该作者
字符串也是特殊的指针,所以要指向指针的指针~

我理解对不~

论坛徽章:
0
26 [报告]
发表于 2008-07-28 19:00 |只看该作者
len当然要大于5.

论坛徽章:
0
27 [报告]
发表于 2008-07-28 19:44 |只看该作者
乱码就出在长度少1上。
局部变量的字符数组在这段代码里也是可行的,因为函数的数组是放在栈上的,跳出函数后没有再在栈上写值,指针所指内存并未改变,但这是不对的代码,在这里不出错只是特殊情况。

论坛徽章:
0
28 [报告]
发表于 2008-07-28 21:41 |只看该作者
LZ
这样的程序,看看C语言的基础书先哦!^_^
1)字符串末尾自动添加'\0'
2)调用函数的按值传递。
3)函数的声明
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP