#include <string.h>
#include <stdio.h>
#include <stdlib.h>//將一句話的單詞進行倒置,標點符號不倒換。比如一句話:“i love you.”倒換后變為"you. love i"
void reverse(char *str)
{int i=0,j=strlen(str)-1;int begin,end;char temp;//第一步進行全部翻轉while (i<j){temp=str[i];str[i]=str[j];str[j]=temp;i++;j--;}i=0;//進行部分翻轉,如果不是空格,則開始翻轉while(str[i]!='\0'){if (str[i]!=' '){begin=i;while (str[i]&&str[i]!=' '){i++;}i=i-1;end=i;}while(begin<end){temp=str[begin];str[begin]=str[end];str[end]=temp;begin++;end--;}i++;}}
void main()
{char a[]="i love you.";reverse(a);//注意這里只能使用char a[]="i love you.";不能使用char *a="i love you.";因為在reverse中要修改a的值,而字符串常量不能修改printf("%s",a);}