编写一个程序,将字符串中的第m个字符开始的全部字符复制到另一个字符串。

2025-01-04 10:14:09
推荐回答(2个)
回答1:

代码如下:

#include

#include

int copy(char *p1,char *p2,int m);

int main()

{

char str1[40],str2[40];

printf("输入第一个字符串:\n");

gets(str1);

int m;

printf("输入第m个字符开始:\n");

scanf("%d",&m);

if(strlen(str1)

printf("错误");

else

{

copy(str1,str2,m);

printf("%s",str2);

}

return 0;

}

int copy(char *p1,char *p2,int m)

{

int n;

n=0;

while(n

{

n++;

p1++;

}

while(*p1!='\0')

{

*p2=*p1;

p1++;

p2++;

}

}

扩展资料

字符串一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。

两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

回答2:

#include
void copystring(char *sourceStr, char *tagStr, int m)
{for(sourceStr+=m;*tagStr++=*sourceStr++;);   
}
int main ()
{char s[100],s1[100];
 int m;
 printf("请输入一个字符串:");
 gets(s);
 printf("请输入复制的起始位置 m =");
 scanf("%d",&m);
 copystring(s,s1,m-1);
 printf("复制的结果是:%s\n",s1);
 return 0;
}