标题:找不到错误,大家帮忙看看吧
只看楼主
绿茶盖儿
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:363
专家分:1852
注 册:2011-9-3
结帖率:84.62%
已结贴  问题点数:20 回复次数:15 
找不到错误,大家帮忙看看吧
#include <stdio.h>
#include <string.h>
void main()
{
    void copy(char*,char*,int);
    int m;
    char str1[20],str2[20];
    printf("input string:\n");
    gets(str1);
    printf("which character that begin to copy?\n");
    scanf("%d",&m);
    if(strlen(str1)<m)
        printf("input error!\n");
    else
    {
        copy(str1,str2,m);
        printf("result: %s\n",str2);
    }
}
void copy(char*p1,char*p2,int n)
{
    for(p1=p1+n-1;*p1!='\0';p1++);
    {
        *p2=*p1;
        p2++;
    }
    *p2='\0';
}
这个程序就是把字符串str1中从第m个字符开始的字符串复制到str2中,然后输出str2
编译连接没问题,但是就是不能得到正确结果,断点调试也找不到错误,大侠们帮忙看看吧
搜索更多相关主题的帖子: void character include result 
2011-09-18 23:01
nextleave
Rank: 2
等 级:论坛游民
帖 子:52
专家分:92
注 册:2011-9-12
得分:2 
for(p1=p1+n-1;*p1!='\0';p1++);
多了个分号.
2011-09-19 00:38
唯我独魔
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:176
专家分:782
注 册:2011-4-13
得分:2 
楼上正解
2011-09-19 02:11
bhu_wll
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:70
专家分:167
注 册:2011-9-8
得分:2 
2.4楼合并最好。
但是既然楼主说编译连接没问题,那么
2楼提的为主要毛病,4楼提的毛病不用管

努力对待生活
2011-09-19 08:20
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
得分:2 
飘过卢三德!~~~~~~~~~~~~~~~~~~~~~~~~~~

君生我未生 我生君以老
2011-09-19 08:34
bhu_wll
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:70
专家分:167
注 册:2011-9-8
得分:0 
回复 6楼 xugaige
函数声明固然在某些编译器必须有,
但是如果他使用的编译器都已经通过编译连接了,就说明主要问题不是出在这里喽

努力对待生活
2011-09-19 08:37
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:2 
回复 楼主 绿茶盖儿
这个程序的错误,for循环加分,函数声明放在另一个函数内部,最近几天已经好几个人发过了,是我out了吗?这些基础和规范应该先了解,否则形成习惯就不好了

总有那身价贱的人给作业贴回复完整的代码
2011-09-19 08:46
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
得分:2 
回复 楼主 绿茶盖儿
输入超过20就越界,输入20就没输出因为第二十个元素是'\0' 还有你的空循环问题

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-09-19 08:56
qldxsun
Rank: 4
等 级:业余侠客
帖 子:125
专家分:240
注 册:2011-6-4
得分:2 
要学会单步调试啊!像分号这样的问题有时是很难直接发现的,要是单步执行,马上就会找到错误的地方。其他的问题也都可以解决了。
2011-09-19 14:06
绿茶盖儿
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:363
专家分:1852
注 册:2011-9-3
得分:0 
回复 10楼 embed_xuel
我看的谭浩强的第三版,函数声明都是放在函数内部,难道不应该这样?
2011-09-19 21:46



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




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

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