【失败的尝试】C++中使用string进行switch判断

贴出错误代码:

#include <iostream>
#include <string>
using namespace std;
void main()
{
    string str;
    cin>>str;
    switch(str)
    {
    case "ab":
        cout<<"one"<<endl;
        break;
    case "cd":
        cout<<"two"<<endl;
        break;
    default:
        cout<<"error"<<endl;
    }
}

体会:

1.c++中不能直接使用string类型,但是添加一行代码#include <string>即可使用,注意这里不是添加string.h。需不需要添加.h是看这个头文件是系统的还是自己写的,毕竟你是用using namespace std告诉系统你使用的是标准库,如果添加了.h,那么系统会认为这个头文件是你自己写的。

2.cin可以用来作为字符串的输入接口,而不需要用scanf。

3.switch的参数只可以是byte、int及其延伸、char,不可以是string、folat、数组、指针等。switch是用"="进行比较,而string没有"="的概念,只有strcmp;float没有"=",这涉及到数在计算机内部的具体表示。


原文地址:https://www.cnblogs.com/caixu/p/1997853.html