原地反转字符串C语言
时间: 2024-03-16 11:37:46 浏览: 73
以下是C语言的代码,它可以在原地反转一个字符串:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char* str) {
int i = 0;
int j = strlen(str) - 1;
while (i < j) {
char temp = str[i];
str[i] = str[j];
str[j] = temp;
i++;
j--;
}
}
int main() {
char str[100];
printf("请输入一个字符串:\n");
fgets(str, sizeof(str), stdin);
str[strlen(str) - 1] = '\0'; // 去掉末尾的换行符
reverse_string(str);
printf("反转后的字符串是:\n%s\n", str);
return 0;
}
```
该代码定义了一个名为`reverse_string`的函数,该函数接受一个指向字符串的指针,并将该字符串原地反转。在`main`函数中,我们首先使用`fgets`函数从标准输入中读取一个字符串,然后使用`strlen`函数计算字符串的长度,并将其存储在变量`j`中。接下来,我们使用一个`while`循环来交换字符串中的字符,直到我们到达字符串的中心。最后,我们使用`printf`函数输出反转后的字符串。
阅读全文