在另一个问题中,有人向我提供了漂亮的代码。这里是:
#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函数。:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句