は、だから、私はreverse
機能がstr1
を返す一部を除いて、コードを理解してからstr1
がmain
機能で印刷されたC.別の関数によって返されたときのmain関数の変数アクセス?
に再帰を使用して文字列を反転させるために、インターネット上でこのコードを見ました。 str1
は参照渡しではなく、アドレスによってのみ渡されました。だから、main
の機能を使って印刷すると、元の文字列ではなく、逆の文字列がどのように出力されるのでしょうか?
void reverse(char str1[], int index, int size);
int main() {
char str1[20];
int size;
printf("Enter a string to reverse: ");
scanf("%s", str1);
size = strlen(str1);
reverse(str1, 0, size - 1);
printf("The string after reversing is: %s\n", str1);
return 0;
}
void reverse(char str1[], int index, int size) {
char temp;
temp = str1[index];
str1[index] = str1[size - index];
str1[size - index] = temp;
if (index == size/2) {
return str1;
} else {
reverse(str1, index + 1, size);
}
}