C语言实现:【问题描述】写一个程序来读取其输入的字符串,并将输入的字符串倒过来打印。要进行反转,请编写一个函数reverse来翻转字符串。请使用指针实现,函数参数可以自定义。【样例输入】 This is my first program 【样例输出】 Input a string: The reverse is: margorp tsrif ym si sihT
时间: 2024-02-06 07:12:25 浏览: 87
好的,这是一个比较简单的字符串反转问题,我来为你解答。
首先,我们需要实现字符串反转函数 `reverse()`,其原理是将字符串的头和尾依次交换位置,直到头指针大于尾指针。具体代码实现如下:
```c
void reverse(char *s) {
char *p = s;
char *q = s + strlen(s) - 1;
while (p < q) {
char t = *p;
*p = *q;
*q = t;
p++;
q--;
}
}
```
然后,在主程序中读取输入的字符串,调用 `reverse()` 函数将其反转,最后打印反转后的字符串即可。具体代码实现如下:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *s);
int main() {
char s[1000];
printf("Input a string: ");
scanf("%[^\n]%*c", s);
reverse(s);
printf("The reverse is: %s\n", s);
return 0;
}
void reverse(char *s) {
char *p = s;
char *q = s + strlen(s) - 1;
while (p < q) {
char t = *p;
*p = *q;
*q = t;
p++;
q--;
}
}
```
希望这个代码能够帮助到你,如果还有其他问题,请继续提问。
阅读全文