簡體   English   中英

從函數交換並返回Char數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM