反转句子中的单词

来源:互联网 发布:linux脚本编程入门 编辑:程序博客网 时间:2024/05/01 15:26
void reverse_str(char* str, int size)  {  if (NULL == str)  return;  if (1 >= size)  return;  char* start = str;  char* end = str + size -1;  for(int i = 0;i < size/2;i++) {  char tmp = *(start + i);  *(start + i) = *(end - i);  *(end - i) = tmp;  }  }void ReverseWords(char* str){    if (NULL == str) return;    int start = -1;    int end = -1;    //Split words in sentence first    int size = strlen(str);    for (int i = 0;i < size;i++) {        if (-1 == start &&            ' ' != *(str + i)) {                start = i;        }        if((' ' == *(str + i) || '\0' == *(str + i)) &&            -1 != start) {                end = i - 1;                reverse_str(str + start, end - start + 1);                start = -1;                end = -1;        }    }}int _tmain(int argc, _TCHAR* argv[]){char source[] = "What a beautiful girl";ReverseWords(source);return 0;}

0 0
原创粉丝点击