真的尝试了好久 不会..有没有人可以教教我
程序代码:
#include <stdio.h> void fun(char *w, int n) { int i, j; char str[100]; /*str 数组用来存放移动后的字符串*/ /*指向首字符*/ i=0; j=0; /*指向第 n 个字符*/ while(i <= n-1) i++; /*首先把第 n 个字符一直到最后一个字符放到 str 数组的头部*/ while(i>=n) { for(i=n;*w!='\0';i++) scanf("%c",&str[j]); j++; }n=j; /*把第 0 个字符到第 n-1 个字符放到 str 数组的尾部*/ for(i=0; i<= n-1; i++) { scanf("%c",&str[j]); j++; } /*放上字符串结束标志*/ str[j]='\0'; i=0; /*str 数组中是移动后的字符串,把它复制到 w 数组中去*/ while(i<j) { char *w=str; for(i=0;i<sizeof(str);i++) scanf("%c",*w++); } } main() { char s[100]; int m; printf("Input string: "); scanf("%s", s); printf("Input m: "); scanf("%d", &m); fun(s, m); printf("After move: %s\n", s); }