//输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,输出字符串y;再对y串的内容前后倒置后存入数组z中并输出。 #include<stdio.h> #include<string.h> void getx(char *c1); void getr(char *c2); int x; int main(void) { char s[80]; printf("enter a string:"); gets(s); printf("enter an integer:"); scanf("%d",&x); printf("the new string is:"); getx(s);//指针c1指向s; printf("the invert string is:"); getr(s); return 0; } void getx(char *c1) { char z[80];//定义存放复制后的数组 int i,y; y=strlen(c1);//数组s的长度是y for(i=0;i<x;i++) { z[i]=*(c1+y-x+i); } z[x]='\0'; printf("%s\n",z); } void getr(char *c2) { char m[80];//存放倒叙输出后的值 int i,a; a=strlen(c2);//a数组s的长度 for(i=0;i<x;i++) { m[i]=*(c2+a-1-i); } m[x]='\0'; printf("%s\n",m); }