#include <stdio.h>
#define N 50
void daoxu(char *p) // 整个字符串翻转
{
char *h = p;
while (*p != '\0')
{
p++;
}
p = p - 1;
char temp;
while(h <= p)
{
temp = *p;
*p = *h;
*h = temp;
p--;
h++;
}
}
void over(char* p) // 以空格为基准翻转字符串
{
char *h = p;
char *t = p;
while (*t != '\0')
{
if (*t == ' ')
{
*t = '\0';
daoxu(h);
*t = ' ';
t++;
h = t;
}
else
{
t++;
}
}
}
int main()
{
char str[N] = {0};
printf("请输入语句:\n");
gets(str);
daoxu(str);
over(str);
puts(str);
return 0;
}
本文介绍了一种使用C语言实现字符串及其单词翻转的方法。通过两个函数`daoxu`和`over`实现了字符串的整体及按空格划分的单词级别的翻转。`daoxu`函数负责整体字符串的翻转,而`over`函数则用于根据空格来翻转每个单词。文章提供了一个完整的示例程序,演示了如何读取用户输入并应用这些翻转技巧。
887

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



