[英]Swap and Return Char Array from the Function
我知道有很多與此問題相關的問題,但仍然存在問題。 我正在使用該函數交換數組的平均值,當我輸入ABCD時應返回DCBA。 代碼在下面檢查問題所在。 有沒有辦法傳遞第二個空數組作為參考? 交換工作正常,但數組未返回正常。 我只想解決與[characters array]相關的代碼。 不要討論字符串等。
#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*
與函數參數相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.