字符"I love china",实现以单词为单位的逆序,如:“china love i”
#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{
char a[32] = “I love China”;
char *p = a;//指向开头
char *q = p + strlen(a) - 1;//指向结尾
char *k = NULL;//交换时使用
char t;
while (p < q)
{
t = *p;
*p = *q;
*q = t;
p++;
q–;
}
printf(“%s\n”, a); //全部倒置 anihc evol I
p = q = a; //定位在开头
while (*p != ‘\0’)
{
while (*p == ’ ') //防止字符前面有空格
p++;
q = p; //q从p开始找单词结尾
while (*q != ’ ’ && *q != ‘\0’) //q自增遍历到单个单词的末尾
q++;
k = q; //暂存空格的位置
q–; //指向单词结尾
while (p < q)//三杯水交换
{
t = *p;
*p = *q;
*q = t;
p++;
q–;
}
p = k;//在找开头位置
}
printf(“%s\n”,a);
return 0;
}
love 为例指针的运动
单词的倒叙打印(i love china)
最新推荐文章于 2023-08-01 20:11:00 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)