1.6 字符串的比较

1. char类字符串比较, 我们不使用关系操作符,(比如>,<,=,!=), 而使用strcmp函数. 如果我们要知道字符数组word中的字符串是不是mate,不能用这个语句:word=="mate", 因为数组名是数组的地址, 字符串常量"mate"返回此字符串的地址, 那这句话的意思是比较这两个地址是否相同. 我们使用strcmp函数来比较字符串, 该函数接受两个字符串地址作为参数, 这意味着参数可以是指针,字符串常量或者字符数组名, 因为这些的表现形式都是地址. 例如strcmp(A,B), 如果A=B,那么strcmp函数返回0, 如果字符串A的第一个字符按字符顺序在B的第一个字符前面, 则strcmp返回一个负数值, 反之如果在之后, 则返回一个正数值.
        strcmp(A,B)=0, 如果A=B
        strcmp(A,B)<0, 如果A的字符顺序在B之前
        strcmp(A,B)>0, 如果A的字符顺序在B之后

2. 由于字符串是通过结尾的空字符定义的, 而不是由其所在数组的长度定义的, 这意味着两个字符串即使被存储在长度不同的数组中, 也可能是相同的,例如下面的big和little字符数组如果用strcmp比较是相等的.
        char big[80]="happy";  //5个字符加空字符/0
        char little[6]="happy";  //5个字符加空字符/0

3. 我们可以用关系操作符来比较字符, 因为字符实际上是整型, 因此可以用来比较字符. 例如下面的代码输出字母表
        for(char ch='a';ch<='z';ch++)
             cout<<ch;

4. string类字符串比较.可以用关系操作符进行比较(比如>,<,=,!=), 因为string类设计时重载了这些关系操作符, 所以我们能够使用这些关系操作符比较字符串.

5. 代码集合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值