标题:可以看一下错误在哪里吗
取消只看楼主
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
结帖率:96.88%
已结贴  问题点数:20 回复次数:3 
可以看一下错误在哪里吗
#include<stdio.h>
#include<string.h>
void copy(char *p1,char *p2,int m1);
int main()
{   char p[100],q[100];
    int m;
    gets(p);
    scanf("%d",&m);
    copy(p,q,m);
    printf("%s\n",q);
    return 0;
}
void copy(char *p1,char *p2,int m1)
{
    p2=p1+(m1-1);
    while(*p1!='\0')
    {
        *p2=*p1;
        p1++;
        p2++;
    }
    *p2='\0';
    return ;
}
搜索更多相关主题的帖子: char int return 错误 copy 
2019-12-13 19:03
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
定义函数strmcpy,
从一个字符串(长度不超80)的第m个字符开始
将后面的所有字符复制到另一个字符串中。

//********** Specification of strmcpy **********
char* strmcpy(char* t, char* s, int m);
/* PreCondition:
      t points to an array,
      s points to another array,
      m is less than length of string s
   PostCondition:
      copy s starting from m into t,
   and return t
*/
【输入】
第1行:一个字符串s,不超过80字符,可能包含空格。
第2行:一个非负整数m,大小不超过s的长度,
【输出】
将s从第m个字符开始的字符复制到字符数组t中后,t中包含的字符串。
【样例输入1】
Hello World
6
【样例输出1】
World

我想要两颗西柚。
2019-12-13 19:04
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
回复 3楼 zbjzbj
老师其实是想要我们写指针的,不过那个平台看不出来哈哈哈,我写了
#include<stdio.h>
#include<string.h>
int main()
{   char p[100],q[100];
    int m;
    gets(p);
    int i=0;
scanf("%d",&m);
while (p[i+m] != '\0')
   {
        q[i] = p[i+m];
        i++;
   }
q[i] = '\0';
printf("%s\n",q);
return 0;
}

但是这串代码我分析不出来,我指针完全不懂...哭了

我想要两颗西柚。
2019-12-13 23:29
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
回复 5楼 zbjzbj
啊 这样 非常通俗易懂惹 谢谢!!

我想要两颗西柚。
2019-12-14 10:17



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




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

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