(昨天网络出现了问题,导致这篇没来得及上传,再次补上,今晚照常上传笔记)
练习1.19编写函数r e v e r s e ( s )将字符串s中的字符顺序颠倒过来。使用该函数编写一个程序,每次颠倒一个输入行中的字符顺序
1 /*************字符串s中的字符顺序颠倒过**********************/ 2 #include3 #include 4 #define MAXLENGTH 100//字符串最大值 5 int getline(char[],int limit); 6 void reverse(char[]); 7 int main() 8 { 9 char str[MAXLENGTH];10 int len=0;11 while((len=getline(str,MAXLENGTH))>0)12 {13 reverse(str);14 printf("%s\n",str);15 }16 return 0;17 }18 int getline(char str[],int limit)19 {20 int c;21 int i;22 for(i=0;i<(limit-1)&&(c=getchar())!=EOF&&c!='\n';i++)23 {24 str[i]=c;25 }26 if(c=='\n')27 {28 str[i]=c;29 ++i;30 }31 str[i]='\0';32 return i;33 }34 void reverse(char str[])35 {36 int i,j;37 char temp;38 for(i=0;str[i]!='\0';i++);//找到字符串的末尾39 --i;40 if(str[i]=='\n')--i;//不计换行符,此时i记录字符串的尾部41 j=0;//j记录字符串最开始的位置42 while(j
运行结果: