题目2:用指针实现"I am from shanghai"的逆序

来源:互联网 发布:vb.net dock 顺序 编辑:程序博客网 时间:2024/05/25 01:35
#include <stdio.h>#include <string.h>int main(){// char *p = "I am from shanghai";// char str[] = "I am from shanghai";char str[] = "you are from shanghai";// 将整个字符串逆序char *p1 = str;char *p2 = str + strlen(str) - 1;char *p3 = NULL;  // 用于将单词逆序char tmp;while (p1 < p2){tmp = *p1;*(p1++) = *p2;*(p2--) = tmp;}puts(str);// 再将每一个单词进行逆序,单词通过空格去找p1 = str;p2 = str;while(*p2) // p2找到字符串结束为止{if (*p2 == ' ') // 找到一个单词,要将前面的单词进行逆序{p3 = p2 - 1;while (p1 < p3){tmp = *p1;*(p1++) = *p3;*(p3--) = tmp;}p1 = p2 + 1;}p2++;}p3 = p2 - 1;while (p1 < p3){tmp = *p1;*(p1++) = *p3;*(p3--) = tmp;}puts(str);return 0;}

阅读全文
0 0
原创粉丝点击