第一章 比较运算符

比较运算符是一种双目运算符,得到bool型结果。

比较运算符示例结果
==4==30
!=4!=31
<4<30
>4>31
<=4<=30
>=4>=31

在C++中,支持两种风格的字符串,它们各自的比较方式不同的。

  • C语言风格字符串

eg:char str1[]="string1"或者char *str2="string1"

如果使用运算符比较,则比较的是内存地址。若想比较内容需要用到函数strcmp。

strcmp(str1,str2)的结果含义
-1字符串str1小于字符串str2
0字符串str1等于字符串str2
1字符串str1大于字符串str2

案例代码

int main() {
    SetConsoleOutputCP(CP_UTF8);
    char str1[]="string1";
    char *str2="string2",*str3="string1",*str4="string";
    //一定要加()否则会报错。此处比较的是str1和str2的内存地址,结果为0,表示占用不同的内存空间
    cout<<"str1==str2:"<<(str1==str2)<<endl;
    cout<<"str1!=str2:"<<(str1!=str2)<<endl;

    //如果相比较str1和str2的内容,需要用到strcmp函数
    cout<<"strcmp(str1,str2):"<<(strcmp(str1,str2))<<endl;
    cout<<"strcmp(str1,str3):"<<(strcmp(str1,str3))<<endl;
    cout<<"strcmp(str1,str4):"<<(strcmp(str1,str4))<<endl;
    return 0;
}

案例结果图

  • C++风格字符串(string类型)

进行对比的两个字符串至少有1个是string类型,即可使用运算符比较。

C++对string类型参与的运算符进行重载,确保可以进行内容对比。

案例代码

 //只要比较中有一个是string类型就可以用比较运算符比较内容
    string a1="str";
    char a2[]="str";
    cout<<"a1是否等于a2:"<<(a1==a2)<<endl;

案例结果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值