单词反转字符串函数设计
/**
*
* file name:ReverseWorld.c
* author :eon4051@163.com
* date :2024/05/11
* brief :单词反转字符串函数设计
* note :None
*
* CopyRight (c) 2024 eon4051@163.com All Right Reseverd
*
*/
#include <stdio.h>
#include <string.h>
/**
*
* func name :reverseStr
* brief :将从start到end(包含端点)的字符串翻转
* func parameter:
* @str:传入的字符串
* @start:起始位置
* @end:终止位置
* return :None
* note :None
* func author :eon4051@163.com
* date :2024/05/11
* version :V1.0
*/
void reverseStr(char *str, int start, int end)
{
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
/**
*
* func name :reverseWords
* brief :以单词为单位翻转字符串
* func parameter:
* @str:传入的字符串
* return :None
* note :None
* func author :eon4051@163.com
* date :2024/05/11
* version :V1.0
*/
void reverseWords(char *str)
{
// 获取句子的长度
int len = strlen(str);
// 反转整个句子
reverseStr(str, 0, len - 1);
// 反转每个单词
int start = 0;
for (int i = 0; i <= len; i++)
{
if (str[i] == ' ' || str[i] == '\0') // 当遇到空格或者字符串结尾时,反转当前单词
{
reverseStr(str, start, i - 1);
// 更新下一个单词的起始位置
start = i + 1;
}
}
}
/**
*
* func name :main
* brief :以单词为单位翻转字符串
* func parameter:
* return :None
* note :None
* func author :eon4051@163.com
* date :2024/05/11
* version :V1.0
*/
int main()
{
char str[] = "Here is www.fishksy.com.cn";
reverseWords(str);
printf("%s\n", str); // 输出反转后的句子
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异