有些人在我的另一個問題中向我展示了一個漂亮的代碼。那就是:將一個void函數轉換爲char * C++
#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)
)?顯然,它不會是一個'空白'它應該返回一個值,但什麼價值?這些指針讓我非常困惑。
你需要知道應該返回什麼。 'encode'正在處理指針,從而修改'main'中的變量。也許什麼都不需要返回。 –
爲什麼它應該是'char *'?它完美地作爲一個空白。 – ApproachingDarknessFish
@ValekHalfHeart我真的沒有選擇。 – user3213110