gpt4 book ai didi

c++ - 将 void 函数转换为 char* C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:26:32 26 4
gpt4 key购买 nike

有人在我的另一个问题中向我展示了一个漂亮的代码。在这里:

#include <iostream>
#include <cstring>

using namespace std;

void encode(char* source, char const* alpha)
{
int i, j;
int len = strlen(source);
for (i = 0; i < len; i++)
{
if (source[i] >= 'a' && source[i] <= 'z')
{
j = source[i] - 'a';
source[i] = alpha[j];
}
}
}

int main(void)
{
char source[1001];
char alpha[27];
cin.getline(source, 1001);
cin.getline(alpha, 27);
encode(source, alpha);
cout << source;
return 0;
}

我应该怎么做才能将这个 void 函数转换成一个 char* 函数(它应该变成 char* encode(char* source, char const* alpha ))?显然,因为它不会是“空”,所以它应该返回一个值,但是什么值呢?这些指针让我非常困惑。

最佳答案

#include <iostream>
#include <cstring>

using namespace std;

char* encode(char* source, char const* alpha)
{
int i, j;
int len = strlen(source);
for (i = 0; i < len; i++)
{
if (source[i] >= 'a' && source[i] <= 'z')
{
j = source[i] - 'a';
source[i] = alpha[j];
}
}
return source;
}
int main()
{
char source[1001];
char alpha[27];
cin.getline(source, 1001);
cin.getline(alpha, 27);
cout << encode(source, alpha);
return 0;
}

做类似的事情。如果您想更改 main 的 char 数组,您的 void 函数将起作用。 :)

关于c++ - 将 void 函数转换为 char* C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21358972/

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