gpt4 book ai didi

c++ - 当我尝试在 C++ 中反转字符串时,我得到了一堆额外的字符

转载 作者:行者123 更新时间:2023-11-30 01:59:46 25 4
gpt4 key购买 nike

用户输入的字符串看似颠倒了,但后面还跟着一堆乱码。这是我的反向函数:

void reverse(char str[])
{
char reversed[MAX_CHAR];

for(int i = 0; i < strlen(str); i++)
{
reversed[i] = str[strlen(str) - i - 1];
}

cout << reversed << endl;
}

最佳答案

您的字符串需要以 NULL 字符 '\0' 结束,ASCII 值 0

试试这个:

void reverse(char str[]) {
char reversed[MAX_CHAR];
int len = strlen(str);

for(int i = 0; i < len; i++) {
reversed[i] = str[len - i - 1];
}

reversed[len] = '\0'; // Add this

cout << reversed << endl;
}

这就是 CC++ 知道字符串结尾位置的方式。

阅读更多关于 Null 终止字符序列的信息:

关于c++ - 当我尝试在 C++ 中反转字符串时,我得到了一堆额外的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15870702/

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