将一个一维字符数组进行逆置输出,如原来顺序1357,逆置后为7531
时间: 2024-03-02 22:49:39 浏览: 81
好的,这个问题很简单,可以使用双指针来实现,具体代码如下:
```c++
#include <iostream>
using namespace std;
void reverse(char* str) {
if(str == nullptr) {
return;
}
// 计算字符串长度
int len = 0;
while(str[len] != '\0') {
len++;
}
// 双指针逆置
int left = 0, right = len - 1;
while(left < right) {
char temp = str[left];
str[left] = str[right];
str[right] = temp;
left++;
right--;
}
}
int main() {
char str[] = "1357";
reverse(str);
cout << str << endl; // 输出7531
return 0;
}
```
另外需要注意的是,字符串最后一位是`\0`,表示字符串的结尾,也要算在字符串长度里面。
相关问题
C++,将一个一维字符数组进行逆置输出
好的,这个问题很简单,可以使用双指针来实现,具体代码如下:
```c++
#include <iostream>
using namespace std;
void reverse(char* str) {
if(str == nullptr) {
return;
}
// 计算字符串长度
int len = 0;
while(str[len] != '\0') {
len++;
}
// 双指针逆置
int left = 0, right = len - 1;
while(left < right) {
char temp = str[left];
str[left] = str[right];
str[right] = temp;
left++;
right--;
}
}
int main() {
char str[] = "1357";
reverse(str);
cout << str << endl; // 输出7531
return 0;
}
```
另外需要注意的是,字符串最后一位是`\0`,表示字符串的结尾,也要算在字符串长度里面。
阅读全文