C ++数组大于0的打印代码

时间:2018-08-04 14:36:05

标签: c++

此代码段存在问题:

    else if (mineOrRefine == "refine" || mineOrRefine == "Refine")
    if (StoneInventory[0] == 0)
        cout << "You currently have no stone!" << endl;
int a = StoneInventory[0];
    else if (a == >1)

3 个答案:

答案 0 :(得分:1)

您并不是说问题出在哪里,但是我可以保证它与括号不足有关。将if和else块放到括号中,即使只是一行,也可以减少混乱。一般情况下,在if / else之后,我不会就是否在单个表达式周围加上括号进行辩论,只是在您的情况下,缺少括号使您感到困惑,因此将它们放入。

答案 1 :(得分:0)

使用(a> = 1)或(a> 0)代替(a ==> 1) 同样,任何具有多行代码的“ if”语句都应使用花括号。即:if (x) { /* code */ }

答案 2 :(得分:0)

您在if中迷路了,您确实需要添加花括号以查看发生了什么。该代码相当于:

if (something_you_havent_shown)
    {
    // something else you haven't shown
    }
else if (mineOrRefine == "refine" || mineOrRefine == "Refine)
    {
    if (StoneInventory[0] == 0)
        {
        std::cout << "You currently have no stone!" << std::endl;
        }
    }
int a = StoneInventory[0];
else if (something_you_say_youve_changed_since_asking_the_question)

最后一行中的else与前面的if都不匹配-它们都已完成,因为每个仅应用于下一行。