求大神指导,为什么下面我编的程序总在运行过程中报错,而且不显示原因(我用的是Microsoft Visual Stdio2013,跟这个有关系吗?而且这个里面gets用不了,求解释!)
题目:输入一个字符串,将该字符串从第m个字符开始的全部字符复制成另一个字符串。m由用户输入,
值小于字符串的长度。要求编写一个函数mcopy(char *s,char *t,int m)来完成。
#include<stdio.h>
#include<string.h>
int main(void){
void mcopy(char *s, char *t, int m);
int m;
char s[50], t[50];
printf("Enter the string:\n");
scanf_s("%s", s);
printf("Enter m:\n");
scanf_s("%d", &m);
mcopy(s, t, m);
printf("The new string is:\n");
printf("%s", t);
return 0;
}
void mcopy(char *s, char *t, int m){
int i;
i = m;
while (*(s + i - 1)){
*(t + i - m) = *(s + i - 1);
i++;
}
*(t + i - m) = 0;
}