高手指点一下这个C程序为啥得不到想要的结果!!!谢谢……
/*有一个字符串,包含n个字符。编写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。*/#include<stdio.h>
#include<string.h>
#define N 20
void copystr(char *,char *,int);
void main()
{
int m;
char str1[N];
char str2[N];
printf("Please input str1:\n");
gets(str1);
printf("Which charter that begin to copy?");
scanf("&d",&m);
if(strlen(str1)<m)
printf("input error!!!\n");
//printf("Please input again:");
//scanf("%d",&m);
else
{
copystr(str1,str2,m);
printf("the result is:\n%s\n",str2);
}
}
void copystr(char *p1,char *p2,int m)
{
int n;
n=0;
while(n<m-1)
{
n++;
p1++;
}
while(*p1!='\0')
{
*p2=*p1;
p1++;
p2++;
}
*p2='\0';
}
编译没错,结果错误!