簡體   English   中英

"<i>why i cant return 2 value in a user defined function and display it in the main functionn?<\/i>為什么我不能在用戶定義的函數中返回 2 個值並將其顯示在主函數中?<\/b> <i>can someone help me<\/i>有人能幫我嗎<\/b>"

[英]why i cant return 2 value in a user defined function and display it in the main functionn? can someone help me

此 countGender 函數需要接收什么性別並返回 2 個值,即女性或男性

    int countGender(string gender)
    {
        int numGender[2] = {0};
        
        if(gender == "F")
        numGender[1]++;
        else if(gender == "M")
        numGender[2]++;
        
        return numGender[2];
    }

您要存儲結果的功能和對象的效果不匹配。 countGender<\/code>函數看起來像是霰彈槍調試的結果。

您不能在函數中返回數組。 更重要的是,要實際執行計數,您必須在每次迭代中傳遞現有值。 要做的一件合乎邏輯的事情是通過引用<\/a>傳遞數組。 此外,C++ 中的數組具有從零開始的索引。

void countGender(int (&numGender)[2], string gender)
{    
    if(gender == "F") 
        numGender[0]++; 
    else if(gender == "M") 
        numGender[1]++; 
}

int main()
{
    string gender;
    int numGender[2] = {};
    int n;
    
    cout<<"Enter number of respondents:";
    cin>>n;
    
    for(int i=0; i<n; i++)
    {
        cout<<"\nEnter Gender (F-Female, M-Male):";
        cin>>gender;
        countGender(numGender,gender);
    }
    cout<<"\nFemale - "<<numGender[0];
    cout<<"\nMale - "<<numGender[1];
    return 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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