C++ 开关盒仅打印默认值 #包括 #包括 使用名称空间std; int main(){ int n; //仅打印默认值 问题是n是一个整数类型,但是在switch状态中,您将其与chars进行比较

C++ 开关盒仅打印默认值 #包括 #包括 使用名称空间std; int main(){ int n; //仅打印默认值 问题是n是一个整数类型,但是在switch状态中,您将其与chars进行比较,c++,switch-statement,C++,Switch Statement,您可以使用这两个选项中的任何一个来修复它 将n更改为字符类型 将比较更改为整数类型 对于选项1,这是一个简单的更改 charn; 对于选项二,将'1','2','3',…更改为1,2,3 开关(n){ 案例1: ... 打破 案例2: ... 打破 ... } 确保在比较时不要特别混淆整数和字符!n是一个int,但您的开关的大小写是chars。确保它们一致,即要么使nachar,要么使开关大小写为int。案例“1”:案例1:等等。v‘

您可以使用这两个选项中的任何一个来修复它

  • n
    更改为字符类型
  • 将比较更改为整数类型
  • 对于选项1,这是一个简单的更改

    charn;
    
    对于选项二,将
    '1'
    '2'
    '3'
    ,…更改为
    1
    2
    3

    开关(n){
    案例1:
    ...
    打破
    案例2:
    ...
    打破
    ...
    }
    

    确保在比较时不要特别混淆整数和字符!

    n
    是一个
    int
    ,但您的
    开关的大小写是
    char
    s。确保它们一致,即要么使
    n
    a
    char
    ,要么使开关大小写为int。
    案例“1”:
    案例1:
    等等。v‘<代码>1’<代码>取决于你的平台上的字符编码。有趣的是C++标准不允许1。@芭丝谢芭,真的吗?我不知道那个限制。为什么?还是说,规则是什么?@ 0, 1, 2,…,9必须是连续的任何编码。<代码> '0' <代码>不能是0,因为后者是TH。e NUL终止符-用于表示C样式字符串的结尾。因此,
    '1'
    不能是1。这个答案基本上是正确的,但请注意,
    char
    是一个整数类型,就像
    n
    一样。这里的根本问题是
    int
    char
    的流提取器执行不同的操作输入一个gs。
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main(){
    int n;
    //only printing the default value
    cout<<"Press 1 for Hindi, Press 2 for English, Press 3 for Punjabi,   ess 4 for Japanese."<<endl;
    cin>>n;
    switch (n)
    { 
    case '1':
    cout<<"Namaste";
        break;
    case '2':
    cout<<"Hello";
    break;
    case '3':
    cout<<"Sat Shri Akal";
    case '4':
    cout<<"Ohaio gosaimas";
    break;
    default:
    cout<<"I am still learing more!!!";
    }
          return 0;
    }