指针写函数
一个包含n个字符的字符串,写一个函数,把一个字符串*的第m个字符开始复制另外一个字符串。
写了个函数,为什么输出时乱码的?
程序代码:
/**************************************************** *指针,一个包含n个字符的字符串,写一个函数,把一个字符串 *的第m个字符开始复制另外一个字符串。 ****************************************************/ #include"stdio.h" #include"stdlib.h" #include"string.h" char* strmcopy(char *str, int m) { int len; char *temp,*str1; str1=(char *)malloc(20); len=strlen(str); temp=str+len-m; //指向第m个地址 while(*temp!='\0') { *str1++=*temp; //复制 temp++; } return str1; } int main() { char *str,*str1; int n,m; str=(char *)malloc(20); n=10; printf("输入包含n=%d个字符的字符串str\n",n); scanf("%s",str); printf("输入开始复制的个数m (m<n)\n"); scanf("%d",&m); str1=strmcopy(str,m); printf("%s\n",str1); system("pause"); return 0; }