小牛牛牛牛 2022-05-16 17:43 采纳率: 100%
浏览 25
已结题

讲一个字符串从第m个字符开始复制到另一个字符串并输出

我的运行结果room前面有空格

img


题目是这样的:

img


我写的程序如下:
#include <stdio.h>
#include <string.h>
int main()
{
void copystr(char *from,char *to,int m);
char a[20],b[20];
int m;
printf("请输入字符串:");
gets(a); //输入
printf("请输入m的值:");
scanf("%d",&m);
copystr(a,b,m); //调用
printf("另一个字符串为:%s",b);
}
void copystr(char *from,char to,int m)
{
int i;
for(i=m-1;
(from+i)!='\0';i++)
(to+i)=(from+i);
*(to+i)='\0';
}
希望帮忙看看怎么样才能前面不显示空格

  • 写回答

2条回答 默认 最新

  • Hann Yang 全栈领域优质创作者 2022-05-16 21:44
    关注

    from字串的指针先移动m-1个位置,再开始复制:

    #include <stdio.h>
    #include <string.h>
    
    void copystr(char *from,char *to,int m);
    
    int main()
    {
        char a[20],b[20];
        int m;
        printf("请输入字符串:");
        gets(a); //输入
        printf("请输入m的值:");
        scanf("%d",&m);
        copystr(a,b,m); //调用
        printf("另一个字符串为:%s",b);
    }
    
    void copystr(char *from, char *to, int m)
    {
        for (int i=1; i<m; i++) 
            from++;
    
        while (*from != '\0')
            *to++ = *from++;
    
        *to = '\0';
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月26日
  • 已采纳回答 5月26日
  • 创建了问题 5月16日

悬赏问题

  • ¥15 前端echarts坐标轴问题
  • ¥15 CMFCPropertyPage
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题
  • ¥15 谁会P4语言啊,我想请教一下
  • ¥15 这个怎么改成直流激励源给加热电阻提供5a电流呀
  • ¥50 求解vmware的网络模式问题 别拿AI回答
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳