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

如题所述

第1个回答  2022-12-11

正确程序如下:

#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

}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网