c++编写实现将一个字符串按逆序存放,并输出原字符串和逆序后的字符串(用指针)
时间: 2024-05-02 11:23:37 浏览: 131
好的,让我来回答你的问题。
以下是一个使用指针实现字符串逆序的示例程序:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str)
{
int len = strlen(str);
char *start, *end, temp;
start = str;
end = str + len - 1;
while (start < end) {
temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main()
{
char str[100];
printf("请输入一个字符串: ");
gets(str); // 这里不安全,可以使用fgets()代替
printf("原字符串: %s\n", str);
reverse_string(str);
printf("逆序后的字符串: %s\n", str);
return 0;
}
```
这个程序中,我们定义了一个 `reverse_string()` 函数,接受指向字符串的指针,用于将字符串逆序。原理是使用两个指针,分别指向字符串的起始位置和末尾位置,交换它们指向的字符,直到起始位置大于等于末尾位置。
在 `main()` 函数中,我们调用 `reverse_string()` 函数来逆序输入的字符串,并输出逆序后的字符串和原字符串。
希望能帮到你!
阅读全文