c++采用指针编程:将一个字符串反序输出,即: 输入:ABCDEFG 输出: GFEDCBA
时间: 2024-02-27 14:54:31 浏览: 87
以下是一个采用指针编程的 C++ 程序,可以将一个字符串反序输出:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100];
cout << "Enter a string: ";
cin.getline(str, 100);
int len = strlen(str);
char *p = str + len - 1; // 定义指针变量并初始化为字符串末尾
cout << "Reverse string: ";
while (p >= str) {
cout << *p--; // 输出指针指向的字符,并将指针向前移动
}
return 0;
}
```
在这个程序中,我们首先定义了一个名为 `str` 的字符数组,并使用 `cin.getline()` 函数从用户输入中读取字符串。然后,我们使用 `strlen()` 函数计算出字符串的长度,并定义一个指针变量 `p` 并初始化为字符串末尾的字符位置。在 `while` 循环中,我们使用解引用操作符 `*` 输出指针指向的字符,并将指针向前移动一个位置。
程序的输出为:
```
Enter a string: ABCDEFG
Reverse string: GFEDCBA
```
需要注意的是,为了反序输出字符串,我们使用了指针变量 `p`,并将其初始化为字符串末尾的字符位置。在 `while` 循环中,我们使用 `p >= str` 来判断指针是否越界。如果指针 `p` 大于或等于字符串的起始位置 `str`,则说明还没有遍历到字符串的开头,可以继续输出字符。否则,说明已经遍历完了整个字符串,循环结束。
阅读全文