Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
uxiang_blog
Java
提交
22c87b17
J
Java
项目概览
uxiang_blog
/
Java
与 Fork 源项目一致
Fork自
inscode / Java
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
Java
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
22c87b17
编写于
5月 25, 2023
作者:
6
64428d3e4c6fa56f8d8a0e92
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Thu May 25 11:41:00 UTC 2023 inscode
上级
e5529530
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
50 addition
and
16 deletion
+50
-16
target/C.c
target/C.c
+50
-16
未找到文件。
target/C.c
浏览文件 @
22c87b17
#include <stdio.h>
// 包含标准输入输出库的头文件
#define
LEN 5 // 定义宏常量LEN为5
#include <stdio.h>
#define
STR_LEN 101
int
main
(
int
argc
,
char
**
argv
)
// 主函数
void
reverse
(
char
*
str
)
{
char
*
fruits
[
LEN
]
=
{
// 定义字符串数组fruits,包含5个字符串元素
"apple"
,
// 第一个元素为"apple"
"cherry"
,
// 第二个元素为"cherry"
"grape"
,
// 第三个元素为"grape"
"peach"
,
// 第四个元素为"peach"
"watermelon"
// 第五个元素为"watermelon"
};
for
(
int
i
=
0
;
i
<
LEN
;
i
++
)
// 外层循环,控制访问fruits中的元素
char
*
head
=
str
;
char
*
tail
=
str
;
char
ch
;
while
(
*
tail
++
);
tail
-=
2
;
while
(
head
<
tail
)
{
for
(
int
j
=
0
;
fruits
[
i
][
j
]
!=
'\0'
;
j
++
)
// 内层循环,控制访问fruits[i]中的字符
printf
(
"%c"
,
*
(
*
(
fruits
+
i
)
+
j
));
// 输出字符
printf
(
"
\n
"
);
// 每输出一个字符串就换行
ch
=
*
head
;
*
head
++
=
*
tail
;
*
tail
--
=
ch
;
}
}
return
0
;
// 返回0表示程序正常结束
void
reverse
(
char
*
str
)
//定义函数reverse,参数为指向字符的指针
{
char
*
head
=
str
;
//定义指针head指向str的首地址
char
*
tail
=
str
;
//定义指针tail指向str的首地址
char
ch
;
//定义字符变量ch用于交换字符
while
(
*
tail
)
//循环找到字符串的尾部,判断tail指向的字符是否为'\0'
{
tail
++
;
//指针向后移动直到指向'\0'
}
tail
-=
2
;
//将tail的指针移动到倒数第二个字符
while
(
head
<
tail
)
//交换头尾指针指向的字符
{
ch
=
*
head
;
//将head指向的字符赋值给ch
*
head
=
*
tail
;
//将tail指向的字符赋值给head所指向的字符
*
tail
--
=
ch
;
//将ch赋值给tail指向的字符,tail向前移动一位
head
++
;
//head向后移动一位
}
}
int
main
(
int
argc
,
char
**
argv
)
{
char
str
[
STR_LEN
];
char
*
rev_str
=
NULL
;
printf
(
"请输入一个字符串(length<=100):
\n
"
);
scanf
(
"%s"
,
str
);
reverse
(
str
);
printf
(
"反转后的字符串为:
\n
%s"
,
str
);
return
0
;
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录