C语言字符串反转函数
时间: 2024-09-20 15:00:31 浏览: 109
在C语言中,字符串反转是一个常见的编程练习,可以使用循环或者指针来实现。这里提供一种基本的指针法示例:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void reverse(char* str);
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
// 字符串反转函数
void reverse(char* str) {
int len = strlen(str); // 获取字符串长度
char temp; // 用于交换字符的临时变量
for (int i = 0; i < len / 2; i++) { // 只需遍历一半,因为对称处理
temp = str[i]; // 存储当前字符
str[i] = str[len - i - 1]; // 将当前字符移到原位置的反向位置
str[len - i - 1] = temp; // 将临时存储的字符放回原位置
}
}
相关问题
c语言字符串反转函数
C语言中可以使用以下两种方法来实现字符串反转:
方法一:使用指针进行反转
```c
#include <stdio.h>
#include <string.h>
void reverseString(char* str) {
int length = strlen(str);
char* start = str;
char* end = str + length - 1;
while (start < end) {
char temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
reverseString(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
方法二:使用递归进行反转
```c
#include <stdio.h>
#include <string.h>
void reverseString(char* str, int start, int end) {
if (start >= end) {
return;
}
char temp = str[start];
str[start] = str[end];
str[end] = temp;
reverseString(str, start + 1, end - 1);
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
reverseString(str, 0, strlen(str) - 1);
printf("Reversed string: %s\n", str);
return 0;
}
```
c语言实现字符串反转函数
下面是一个使用C语言实现字符串反转函数的示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char* str) {
int start = 0;
int end = strlen(str) - 1;
while (start < end) {
// 交换字符
char temp = str[start];
str[start] = str[end];
str[end] = temp;
// 更新指针位置
start++;
end--;
}
}
int main() {
char str[] = "Hello, World!";
printf("原始字符串: %s\n", str);
reverseString(str);
printf("反转后的字符串: %s\n", str);
return 0;
}
```
这段代码定义了一个`reverseString`函数,该函数接受一个指向字符串的指针,并通过交换字符来实现字符串反转。在`main`函数中,我们使用示例字符串"Hello, World!"来测试该函数,并打印出反转后的字符串。运行代码会输出以下结果:
```
原始字符串: Hello, World!
反转后的字符串: !dlroW ,olleH
```
希望这个示例能够帮助到你!如果有任何疑问,请随时提问。
阅读全文