C语言编程【问题描述】写一个程序来读取其输入的字符串,并将输入的字符串倒过来打印。要进行反转,请编写一个函数reverse来翻转字符串。请使用指针实现,函数参数可以自定义,以下为一个模板。【样例输入】 This is my first program 【样例输出】 Input a string: The reverse is: margorp tsrif ym si sihT
时间: 2023-12-03 09:45:37 浏览: 43
以下是C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int len = strlen(str);
for(int i = 0; i < len / 2; i++) {
char tmp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = tmp;
}
}
int main() {
char str[100];
printf("Input a string: ");
fgets(str, 100, stdin);
reverse(str);
printf("The reverse is: %s", str);
return 0;
}
```
在这里,我们定义了一个名为 `reverse` 的函数,用于反转字符串。它使用指针作为参数,因此可以直接修改传递给它的字符串。
在主函数中,我们首先使用 `fgets` 函数读取输入的字符串,并将其存储在 `str` 变量中。然后,我们调用 `reverse` 函数来反转 `str` 中的字符。最后,我们使用 `printf` 函数将反转后的字符串输出到屏幕上。
注意,在 `reverse` 函数中,我们使用了一个简单的循环来交换字符串中对应位置的字符,以实现字符串反转的功能。
相关问题
C语言 8.7字符串指针反转 【问题描述】写一个程序来读取其输入的字符串,并将输入的字符串倒过来打印。要进行反转,请编写一个函数reverse来翻转字符串
好的,这是一个经典的字符串反转问题,以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse(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("请输入一个字符串:");
scanf("%s", str);
reverse(str);
printf("反转后的字符串为:%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;
}
```
首先定义一个字符数组 `str`,用于存储用户输入的字符串,数组长度为100。
使用 `scanf()` 函数读取用户输入的字符串,并使用 `strlen()` 函数获取字符串的长度。
使用 `for` 循环遍历字符串,从最后一个字符开始逆向输出,直到第一个字符。
最后输出逆向输出的字符串。
注意:该示例代码只适用于不包含空格的字符串,如果需要支持包含空格的字符串,则需要使用 `fgets()` 函数读取输入的字符串。