繁体   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