c语言 输入一个字符串,将该字符串中从第m个字符开始的全部字符复制到另一个字符串,m由用户输入

 我来答
惠企百科
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

正确程序如下:

#define N 20//宏定义:定义数组长度

#include<iostream>

using namespace std;

int main()

{

 int m, i;//定义指定复制元素起始坐标和循环变量

 char a[N], b[N];//定义两个长度相同的数组

 cout << "请输入字符串:";

 gets_s(a);//按照提示:利用字符输入函数进行字符串输入并存到a数组中

 cout << "请输入m:";

 cin >> m;//按照提示:输入指定复制元素起始坐标

 for (i = 0; b[i - 1] != '\0'; i++)//遍历从指定元素开始,到字符串结束停止

 {

  b[i] = a[i + m -1 ];//从a数组第m个元素开始依次复制给b数组

 }

 cout << "第m个后面的字符串为:" << b << endl;//输出b数组内容(即结果)

 return 0;

}

输出结果如下:


扩展资料:

//指针方法完成字符串的复制

#include<stdio.h>

void copy_string(char *from,char *to);  //函数声明

void main()

{   

char *fro,*t;//定义两个指针变量

char a[]="I am a teacher.";//定义两个字符串数组

char b[]="You are a student.";

printf("a=%s\nb=%s\n",a,b);//输出a,b两数组内容

fro=a;t=b;//将a数组初始地址给fro,b数组初始地址给t

printf("\ncopy string a to string b:\n");

copy_string(fro,t);//用函数进行COPY(此处不用带指针符号*,利用的地址直接传送)

printf("string a=%s\nstring b=%s\n",a,b);

}

void copy_string(char* from,char* to)

{   

while(*from!='\0')//数组未结束则继续

{

*to=*from;//数组元素复制

from++;to++;//指向下一个数组元素地址

}

*to='\0';//字符串的最后一个字符为\0

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式