不用指针实现时
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void strmcpy(char *s,char *t,int m);
int main()
{
char t[10],s[10];
int m,n;
printf("enter a string: ");
gets(t);
printf("enter m: ");
scanf("%d",&m);
strcpy(s,t+m);
puts(s);
return 0;
}
//enter a string: abcdef
//enter m: 3
//def
使用指针
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void strmcpy(char *s,char *t,int m);
int main()
{
char t[10],s[10];
int m,n;
printf("enter a string: ");
gets(t);
printf("enter m: ");
scanf("%d",&m);
strmcpy(s,t,m); //数组名本身就是地址,不需要加&
puts(s);
return 0;
}
void strmcpy(char *s,char *t,int m)
{
strcpy(s,t+m);
}
//enter a string: abcdef
//enter m: 3
//def