请编写一个 C 函数,该函数将一个字符串逆序
时间: 2023-05-14 22:07:24 浏览: 120
答案:
以下是一个简单的 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[] = "Hello, world!";
printf("Original string: %s\n", str);
reverse_string(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
输出:
```
Original string: Hello, world!
Reversed string: !dlrow ,olleH
```
希望这个函数能够帮助你。
相关问题
用c语言编写函数,将一个字符串逆序
以下是用 C 语言编写的函数,可以将一个字符串逆序:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char* str) {
int len = strlen(str);
int i = 0, j = len - 1;
char temp;
while (i < j) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
i++;
j--;
}
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
reverseString(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
该函数使用了一个 while 循环,将字符串首尾对称位置的字符交换,从而实现字符串翻转。在输入字符串时,需要确保其长度不超过 100。
python编写一个递归函数返回逆序字符串
可以使用递归函数实现字符串的逆序,具体代码如下:
```python
def reverse_string(s):
if len(s) == 0:
return s
else:
return reverse_string(s[1:]) + s[0]
```
在递归函数中,我们首先判断字符串是否为空,如果为空直接返回该字符串。如果字符串不为空,则调用递归函数并将字符串的第二个字符到最后一个字符作为参数传递给递归函数,然后将字符串的第一个字符与递归函数返回的结果拼接在一起,最终返回逆序后的字符串。
可以通过以下代码验证该函数的正确性:
```python
s = "Hello, World!"
print(reverse_string(s)) # 输出:!dlroW ,olleH
```