//将参数字符串中的字符反向排列
//eg:hello world -> world hello
//将整个字符串进行逆置,然后将字符串中各个单词进行逆置
#include <stdio.h>
#include <string.h>
void reverse(char* left,char* right)
{
char tmp = 0;
while (left<right)
{
tmp = *left;
*left = *right;
*right = tmp;
left++;
right--;
}
}
int main()
{
char arr[100] = { 0 };
gets(arr); //How are you?
char* start = arr;
int len = strlen(arr);
char* end = arr + len - 1;
reverse(start, end); //先将整句话倒置 ?uoy era woh
char* str = arr;
int i = 0;
for (i = 0; i <= len; i++) //通过空格和最后的'\0'拆分单词,将每个单词倒置
{
if (*str == ' ' || *str == '\0')
{
reverse(start, str - 1);
start = str + 1;
}
str++;
}
printf("%s\n", arr);
return 0;
}
[C语言]给定一个字符串,逐个翻转字符串中的每个单词。
C语言实现字符串单词逆序
最新推荐文章于 2023-12-24 11:11:14 发布
本文详细介绍了如何使用C语言编写一个函数,接收一个字符串作为输入,首先整体反转整个字符串,然后通过空格拆分单词并逐个单词进行逆置,最终输出处理后的字符串。
3219

被折叠的 条评论
为什么被折叠?



