这篇文章主要介绍了C语言字符串反转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了C语言字符串反转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了C语言字符串反转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
在第18天:利用递归函数调用方式,将所输入的字符以相反顺序打印出来中,已经用过递归实现字符顺序输入,逆序输出,今天的题目是字符串反转,将以字符数组的形式来进行操作。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#include <stdio.h>#include <string.h>#define MAX_LENGTH 50 //最大长度char *String_Invertion(char *str);int main(){ char string[MAX_LENGTH]; printf("请输入一个字符串\n"); scanf("%s", string); String_Invertion(string); printf("反转后的字符串为%s\n", string); return 0;}/** * @brief 字符串反转函数 * @param str 目标字符串 * @return 反转后的字符串(str) */char *String_Invertion(char *str){ if(str == NULL) return NULL; int len = strlen(str); int i = 0; for(i = 0; i < len / 2; i++) //替换len/2次 { /* (按位)异或交换法,其他交换法参考day27 */ str[i] = str[i] ^ str[len - 1 - i]; str[len - 1 - i] = str[i] ^ str[len - 1 - i]; str[i] = str[i] ^ str[len - 1 - i]; } return str;} |
运行结果

|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
// Created by www.runoob.com on 15/11/9.// Copyright © 2015年 菜鸟教程. All rights reserved.//#include <stdio.h> void reverse(char* s){ // 获取字符串长度 int len = 0; char* p = s; while (*p != 0) { len++; p++; } // 交换 ... int i = 0; char c; while (i <= len / 2 - 1) { c = *(s + i); *(s + i) = *(s + len - 1 - i); *(s + len - 1 - i) = c; i++; }}int main(){ char s[] = "www.runoob.com"; printf("'%s' =>\n", s); reverse(s); // 反转字符串 printf("'%s'\n", s); return 0;} |
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注米米素材网的更多内容!
原文链接:https://xiaohuisuper.blog.csdn.net/article/details/120877346
发表评论