使用c语言字符串反转
时间: 2023-06-21 11:15:25 浏览: 122
好的,以下是一种使用 C 语言实现字符串反转的方法:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin); // 从标准输入读取字符串
reverse_string(str); // 反转字符串
printf("反转后的字符串为:%s\n", str);
return 0;
}
```
在上面的代码中,`reverse_string` 函数接收一个指向字符串的指针,将字符串反转。具体地,它首先计算字符串的长度 `len`,然后使用一个循环将字符串前半部分和后半部分的字符交换位置,直到反转完成。
在 `main` 函数中,我们先读取用户输入的字符串,然后调用 `reverse_string` 函数反转字符串,并输出反转后的结果。
注意,这里使用了 `fgets` 函数来读取字符串,因为 `gets` 函数已经被废弃,容易导致缓冲区溢出。而 `fgets` 函数则可以指定读取的最大字符数,避免了这个问题。
运行程序后,输入一个字符串,程序会输出反转后的结果。例如,输入 "Hello, world!",程序输出:
```
反转后的字符串为:!dlrow ,olleH
```
阅读全文