标题:新手求助,附题目及本人思路,编译成功但执行出错
只看楼主
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
得分:0 
汗 你的程序 如龙飞凤舞 穿枝飞凤 不过 相信楼主的思路 清晰
你的注释写的很条理
   可是 还望楼主 表明立场 而等好相助
 

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2010-07-20 16:10
uppermore
Rank: 2
等 级:论坛游民
帖 子:33
专家分:26
注 册:2010-7-20
得分:0 
*str++ = *p++ ;
是这句错了,但问什么
2010-07-20 16:19
uppermore
Rank: 2
等 级:论坛游民
帖 子:33
专家分:26
注 册:2010-7-20
得分:0 
回复 11楼 do8do8do8
我已经表明立场了,重新编辑了帖子
但还是不行,就是这个 *str++ = *p++ ,搞得指令出错了
不过我相信这句没逻辑错误的,是先取内容,然后指针自加1
2010-07-20 16:23
uppermore
Rank: 2
等 级:论坛游民
帖 子:33
专家分:26
注 册:2010-7-20
得分:0 
回复 11楼 do8do8do8
OK了,知道问题在哪了,在原帖里改了回来
谢谢你了
2010-07-20 16:38
yjchaos
Rank: 2
等 级:论坛游民
帖 子:16
专家分:36
注 册:2010-7-4
得分:0 
单目运算符的优先级要高于双目运算符,而且单目运算符的结合律是自右向左;你的del_substr函数都说了*str = '\0';你的主函数printf("\nNow c1 = %s",c1);怎么输出c1呢
2010-07-20 17:08
uppermore
Rank: 2
等 级:论坛游民
帖 子:33
专家分:26
注 册:2010-7-20
得分:0 
回复 15楼 yjchaos
str是被移动了的,已经不指向第一个字符的地址了,但是,这只是函数体里面的str而已,主函数里面的str始终指向第一个字符的。函数参数都是传值的,也就是只传递进去一个COPY,你可以在函数里面对这个COPY进行操作移位,但是跟主函数里的那个一点关系都没。

[ 本帖最后由 uppermore 于 2010-7-22 00:18 编辑 ]
2010-07-21 23:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-313506-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.410254 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved