gpt4 book ai didi

c++ - 交换字符数组中的字符

转载 作者:行者123 更新时间:2023-11-28 00:04:04 26 4
gpt4 key购买 nike

我试图交换 char 数组中的字符,使它们看起来像这样:KO KO KO KO KO KO,但是,输出并不完全符合我的预期:K 好的 好的 好的 好的

关于我做错了什么的任何线索?

#include <string>
#include <iostream>
using namespace std;

void swapIt (char &char1, char &char2) {
char temp;
temp = char1;
char1 = char2;
char2 = temp;
}

int main() {
char test[15] = "OK OK OK OK OK";
int x;
for (x = 0; x < 10; x++) {
swapIt(test[x], test[x+1]);
}
cout << test;
}

现在一头雾水。

最佳答案

对于 x = 0test[0]test[1] 被交换。此时,test = KO OK ...

对于 x = 1test[1]test[2] 被交换。此时,test = K OOK ...

看到问题了吗?

交换后,x 应该前进 3 位,而不是 1 位。即x += 3 而不是 x++

另请注意,数字 1510 的使用是任意的。此外,请注意第 x+1 位置的字符需要在数组的范围内。我会试试

char test[] = "OK OK OK OK OK";
const int length = strlen(test);
for (int x = 0; x+1 < length; x += 3) {
swapIt(test[x], test[x+1]);
}
cout << test;

关于c++ - 交换字符数组中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36752348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com