编写程序,将一个字符串反向存放(用C语言编写函数实现)
时间: 2024-05-01 10:16:17 浏览: 12
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int length = strlen(str);
for (int i = 0; i < length / 2; i++) {
char temp = str[i];
str[i] = str[length - i - 1];
str[length - i - 1] = temp;
}
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
这个程序使用了一个 `reverse` 函数,它接收一个指向字符串的指针,并将字符串反向存放。这个函数使用了一个简单的循环,交换字符串的前半部分和后半部分的字符,直到字符串中间为止。注意,我们需要使用 `strlen` 函数来计算字符串的长度。在 `main` 函数中,我们首先读入一个字符串,然后调用 `reverse` 函数来反向存放它。最后,我们输出反向存放后的字符串。
相关问题
用C语言编写一个程序,输入一个字符串,并反向输出之。
以下是用C语言编写的程序,输入一个字符串并反向输出它:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int len, i;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
printf("反向输出字符串:");
for (i = len - 1; i >= 0; i--)
printf("%c", str[i]);
return 0;
}
```
程序首先使用scanf()函数读取用户输入的字符串,并使用strlen()函数获取该字符串的长度。然后,程序使用一个for循环从字符串的最后一个字符开始,逆序输出字符串中的每个字符。
用C语言写函数实现递归反向输出字符串
好的,这里是一个用 C 语言实现递归反向输出字符串的函数示例:
```c
#include <stdio.h>
void reverse_string(char *str) {
if (*str == '\0') {
return;
} else {
reverse_string(str + 1);
putchar(*str);
}
}
int main() {
char str[] = "hello, world!";
reverse_string(str);
return 0;
}
```
在这个函数中,我们首先检查字符串的第一个字符是否为 null 终止符('\0')。如果是,我们就返回。否则,我们递归地调用函数来处理字符串中的下一个字符,直到到达字符串末尾。当递归函数返回时,我们打印当前字符,从而实现反向输出字符串的效果。
你可以尝试编译并运行这个代码,以验证它是否按预期工作。