c语言实现单词逆序输出。
如:"I am from shanghai"
输出: "shanghai from am i"
#include <stdio.h>
#include <string.h>
void swap(char* head, char* tail);//实现字符串逆序
int main()
{
char str[] = "I am from shanghai";
char* p1 = str;
char* p2 = str + strlen(str) - 1;
char* p3 = str;
//字符串整体逆序
swap(p1, p2);
while(*p1)
{
if (*p1 == ' ')
{
//每个单词逆序
swap(p3, p1 - 1);
p3 = p1 + 1;
}
p1++;
}
//最后一个单词逆序
swap(p3, p2);
printf("%s\n", str);
return 0;
}
void swap(char* head, char* tail)
{
while (head < tail)
{
char temp = *head;
*head++ = *tail;
*tail-- = temp;
}
}
运行结果:
手动输入一段单词串:
方法一:
#includ