gpt4 book ai didi

c++ - 从函数交换并返回 Char 数组

转载 作者:行者123 更新时间:2023-11-28 00:15:33 31 4
gpt4 key购买 nike

我知道有很多问题与我的这个问题相关,但仍然面临问题。我正在使用交换数组的函数意味着当我输入 ABCD 时它应该返回 DCBA。代码在下面检查问题出在哪里。有没有办法将第二个空数组作为引用传递? Swap 工作正常,但数组未正常返回。我只想解决这段与[字符数组]相关的代码。不要讨论字符串等。

#include <iostream>
#include <string.h>
#define MAX 80
using namespace std;
char* reversit(const char a[]){
int size=strlen(a)-1;
char b[MAX];
int i;
for(i=0; i<strlen(a); i++){
b[size--] = a[i];
}
b[i]='\0';
return b;
}
int main(){

char a[MAX];
char b[MAX];
cin.get(a,MAX);
b=reversit(a);
cout << b;
return 0;
}

最佳答案

首先,确实可以不返回数组。这是他们的一大问题。

如果您真的想使用char[],您可以将输出数组作为额外参数传递:

void reversit(const char *a, char *b){
int size=strlen(a)-1;
int i;
for(i=0; i<strlen(a); i++){
b[size--] = a[i];
}
b[i]='\0';
}

请注意,char[]char* 与函数参数相同。

关于c++ - 从函数交换并返回 Char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30557472/

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