将用户从键盘输入的字符串t中从第m个字符开始的全部字符复制到字符串s中。如果m已经大于字符串t的长度,则s是一个空串(就是给下标为0的元素赋值为'\0')。
函数接口定义:
void strmcpy( char *t, int m, char *s );
在这里解释接口参数。例如:其中 t
指向用户输入的字符串; m
代表从哪个位置开始复制,m是一个>=1的数字; s
是输出参数,表示从t中第m个字符起复制的字符串,装入s中。
裁判测试程序样例:
#include <stdio.h>
#include <string.h>
#define MAXN 100
//从t指向的字符串中,复制从第m个字符起到s中
void strmcpy( char *t, int m, char *s );
int main()
{
char t[MAXN], s[MAXN];
int m;
scanf("%d\n", &m);
scanf("%s",t);
strmcpy( t, m, s );
printf("%s\n", s);
return 0;
}
/* 请在这里填写答案 */
输入样例:
HiSwpu的第三个字符是S,从这里复制,得到的结果是Swpu。
3
HiSwpu
结尾无空行
输出样例:
Swpu
结尾无空行
#include <stdio.h>
#include <string.h>
#define MAXN 100
//从t指向的字符串中,复制从第m个字符起到s中
void strmcpy( char *t, int m, char *s )
{
int i = 0,k = 0;
while(t[i] != '\0')
{
i++;
k++;
}
if(m > k)
s[0] = '\0';
else
{
k = 0;
for(i = m-1;i < 100;i++)
{
s[k] = t[i];
k++;
}
}
}
int main()
{
char t[MAXN], s[MAXN];
int m;
scanf("%d\n", &m);
scanf("%s",t);
strmcpy( t, m, s );
printf("%s\n", s);
return 0;
}