1
#include <iostream>
#include <string> 

using namespace std;

int main()
{
    int userInput;
    string numberType;
    cout << "Enter a number and I will Check to see if it is odd or even" << endl;
    cin >> userInput;
    if (userInput % 2 == 0)
    {
        string numberType = "Even";     
    }
    else
    {
        string numberType = "Odd";
    }
    cout << "The number you input is " << numberType << endl;
    return 0;
}

操作された文字列値を出力しようとしているのですが、最終行に出力された文字列が空白になってしまいますか?

4

5 に答える 5

0

まず、 を再宣言しています。つまり、宣言されている内部スコープにnumberTypeのみ存在します。事実上、またはブロック内にのみ存在します。次に、単にデフォルトで構築された元の外部スコープを出力します。これを修正するには、再宣言せずに別の値を割り当てます。numberTypeifelsenumberType

string numberType;
...
if(userInput % 2 == 0) {
    numberType = "Even";
} else {
    numberType = "Odd";
}
于 2013-09-12T03:19:13.857 に答える