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. 代码集合
#include <iostream> #include <cstring> //含义strcmp函数 #include <string> //包含string类 using namespace std; int main() { char类字符串比较 //char类字符串比较, 我们不使用关系操作符,(比如>,<,=,!=), 而使用strcmp函数 //strcmp(A,B)=0, 如果A=B //strcmp(A,B)<0, 如果A的字符顺序在B之前 //strcmp(A,B)>0, 如果A的字符顺序在B之后 char word[5]="late"; if(strcmp(word,"mate")==0) cout<<"word is "<<"mate"<<endl; else if(strcmp(word,"mate")<0) cout<<"word is in front of mate"<<endl; else cout<<"word is after mate"<<endl; //两个字符串即使被存储在长度不同的数组中, 也可能是相同的 char big[80]="happy"; char little[6]="happy"; if(strcmp(big,little)==0) cout<<"big is equal to little"<<endl; //我们可以用关系操作符来比较字符, 因为字符实际上是整型, 因此可以用来比较字符 //例如下面的代码输出字母表 for(char ch='a';ch<='z';ch++) cout<<ch<<" "; cout<<endl; //字符串"?ate",改变?,直到与"mate"一样 char word2[5]="?ate"; for(char ch='a';strcmp(word2,"mate")!=0;ch++) { cout<<word2<<endl; word2[0]=ch; } cout<<"After loop ends, word2 is "<<word<<endl; //string类字符串的比较// //string类字符串比较.可以用关系操作符进行比较(比如>,<,=,!=), 因为string类 //设计时重载了这些关系操作符, 所以我们能够使用这些关系操作符比较字符串. //还是上面的例子 string word3="?ate"; //这里是string类型字符串 for(char ch='a';word3!="mate";ch++) { cout<<word3<<endl; word3[0]=ch; } cout<<"After loop ends, word3 is "<<word<<endl; system("pause"); return 0; }

1.6 字符串的比较相关推荐

  1. Redis 笔记(11)— 文本协议 RESP(单行、多行字符串、整数、错误、数组、空值、空串格式、telnet 登录 redis)

    RESP 是 Redis 序列化协议Redis Serialization Protocol 的简写.它是一种直观的文本协议,优势在于实现异常简单,解析性能极好. ​ Redis 协议将传输的结构数据 ...

  2. Go 知识点(16)— 将枚举值转换为字符串

    package mainimport "fmt"// 将 int 声明 为 ChipType 芯片类型. type ChipType intconst (None ChipType ...

  3. HJ75 公共字符串计算

    描述 给定两个只包含小写字母的字符串,计算两个字符串的最大公共子串的长度. 注:子串的定义指一个字符串删掉其部分前缀和后缀(也可以不删)后形成的字符串. 输入描述: 输入两个只包含小写字母的字符串 输 ...

  4. C++ 笔记(36)— 接收输入字符串的几种方法

    C++中常见的几种输入字符串的方法如下: std::cin.std::cin.get().std::cin.getline().std::getline().std::gets().std::getc ...

  5. 算法基础(09)— 字符串常用操作

    1. 字符串定义 字符串 string 是由 n 个字符组成的一个有序整体 n >= 0.例如,s = "BEIJING" ,s 代表这个串的串名,BEIJING 是串的值. ...

  6. C++ 笔记(35)— std::to_string 转换整形数字为字符串

    1. 函数原型 string to_string (int val); string to_string (long val); string to_string (long long val); s ...

  7. Linux shell 学习笔记(8)— 使用结构化命令(if-then 语句、数值比较、字符串比较、文件比较、case 语句)

    1. 使用 if-then 语句 最基本的结构化命令就是if-then语句.if-then语句有如下格式. if command then ​ commands fi 或者 if command; t ...

  8. Python 将字符串转为字典

    引言 在工作中遇到一个小问题,需要将一个 Python 的字符串转为字典,比如字符串: user_info = '{"name" : "john", " ...

  9. leetcode 5. Longest Palindromic Substring 字符串中的最长回文数 逐步从O(n^2)优化至线性时间

    题目 解析 思路一 暴力解法 思路二 指针+最大长度 思路3 由中间至两边找回数 思路4 Manacher's algorithm 线性时间 参考文档 题目 链接 给定一个字符串 s,找到 s 中最长 ...

  10. c语言和c++字符串操作对比

    C语言字符串操作 #include <stdio.h> #include <string.h> int main() {//字符数组char str1[20] = " ...

最新文章

  1. wamp(ajax)
  2. Ubuntu下安装vscode c++环境
  3. 返回包禁止返回server_kubernetes部署metrics-server
  4. 微软面向初学者的机器学习课程:1.4-机器学习技术
  5. hibernate jpa_JPA /Hibernate刷新策略初学者指南
  6. python:from skimage.measure import find_contours
  7. 2019最新易桥(HttpPrinter) web打印控件完整版版|HttpPrinter web打印控件下载
  8. 【面经_计算机网络_(个人总结_下】
  9. 高速下载文件的方法(对百度,城通等网盘无效)
  10. 安科瑞 【节能学院】电气火灾监控系统在太焦铁路博爱站房项目的应用
  11. 功能完整的矢量图编辑软件——Boxy SVG for Mac 3.25.0激活版
  12. 多元微积分_旋度1.正负0旋度
  13. YOLOv5桌面应用开发(从零开始)
  14. 梦幻西游手游什么服务器稳定,《梦幻西游手游》ios玩哪个区好 ios区服选择推荐...
  15. java中的三种IO(BIO、NIO、AIO)
  16. 深入CSS vertical-align属性
  17. 特殊的一些vi指令(快捷键)
  18. 《诛仙》大量实景拍摄 程小东导演:演员状态自然
  19. 《深入浅出SQL》问答录
  20. 关于微信公众号开发时获取用户昵称作为参数乱码的问题

热门文章

  1. 冒泡排序算法_PHP冒泡排序算法(一)
  2. python判断文件是否存在、不存在则创建_python判断文件是否存在,不存在就创建一个的实例...
  3. php 23种设计模型 - 装饰模式
  4. Python3基础知识之运算符
  5. 关于CALayer的contentsGravity属性
  6. Javascript高级程序设计——基本类型和引用类型的值
  7. ios 三种颜色画笔和橡皮擦的画图板demo
  8. SQL Server 2012中的ColumnStore Index尝试
  9. [JavaScript Java] 初识Closure Tools(一)
  10. windows自动更新安装后遗留文件或文件夹的删除