0

我是 C++ 新手,我被困在 switch 语句上,因为当括号中的值是整数时它似乎没有给出输出(控制台程序以退出代码结束:0)。虽然,当我将类型更改为 char 时,相同的代码可以正常工作。谢谢你。

int main()
{
    int num1;          // argument of switch statement must be a char or int or enum
    
    cout<< "enter either 0 or 1" << "\n";
    cin>> num1;
    
    switch (num1)
    {
        case '0':
            cout<< "you entered 0" << endl << endl;
            break;
            
        case '1':
            cout<< "you entered 1" << endl << endl;
            break;
            
    }
    
}
4

2 回答 2

2

您正在打开int,这是正确的,但您的案例不是整数 - 它们是char因为它们被包围在'.

“0”永远不会等于 0,“1”也永远不会等于 1。

将大小写值更改为整数。

int main()
{
    int num1;
    
    cout<< "enter either 0 or 1" << "\n";
    cin>> num1;
    
    switch (num1)
    {
        case 0:
            cout<< "you entered 0" << endl << endl;
            break;
            
        case 1:
            cout<< "you entered 1" << endl << endl;
            break;
            
    }
    
}
于 2021-10-03T14:26:39.973 回答
0
int main()
{
    int num1;          // argument of switch statement must be a char or int or enum
    
    cout<< "enter either 0 or 1" << "\n";
    cin>> num1;
    
    switch (num1)
    {
        case 0:
            cout<< "you entered 0" << endl << endl;
            break;
            
        case 1:
            cout<< "you entered 1" << endl << endl;
            break;       
    }

}
于 2021-10-03T14:39:12.713 回答