指针-输入一个字符串按相反次序输出其中所有字符?
时间: 2024-12-16 21:28:27 浏览: 4
可以使用指针在C++中实现一个简单的算法来按相反的顺序输出字符串中的字符。这里我们先创建一个字符数组来存储输入的字符串,然后使用两个指针,一个指向数组的开始(即头),另一个指向数组的结束(即尾)。每次循环,我们会交换这两个指针所指向的字符,并同时移动它们,直到两者相遇。
下面是一个基本的示例:
```cpp
#include <iostream>
using namespace std;
void reverseString(char* str) {
char* start = str; // 指向头
char* end = str + strlen(str) - 1; // 指向尾
while (start < end) {
// 交换字符
char temp = *start;
*start = *end;
*end = temp;
// 移动指针
start++;
end--;
}
}
int main() {
string input;
cout << "请输入一个字符串: ";
getline(cin, input);
char* cStr = new char[input.length() + 1]; // 字符串变字符数组
strcpy(cStr, input.c_str());
reverseString(cStr); // 反转字符串
cout << "反转后的字符串: " << cStr << endl;
delete[] cStr; // 释放内存
return 0;
}
```
阅读全文