c\c++中比较两个字符串或string对象是否相等
c\c++中比较两个字符串或string对象是否相等
当s1==s2时,返回值= 0;
当s1>s2时,返回正数。
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
"A"<"B" "a">"A" "computer">"compare"
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。
若是比较两个字符,则可以用"=="直接进行比较~
但在比较两个string对象时是可以利用“==”的,相等的话,则表达式的返回值为1,不等为0。
#include<iostream>
#include<string>using namespace std;int main() {char a[] = "aaa",b[]="aaa";string A = "AAA", B = "AAA";cout <<"*a和*b的值分别是:" <<*a << "," << *b << endl;cout <<"*“aaa”的值是:"<< *"aaa" << endl;cout <<"利用 == 比较a,b两个字符串,结果是(相等为1,不等为0):" <<(a==b) << endl;cout << "利用strcmp()比较a,b两个字符串,结果是(相等为0,不等非0):"<<strcmp(a,b) << endl;cout << "利用 == 比较A,B两个string,结果是(相等为1,不等为0):"<<(A==B) << endl;cout << "利用compare()比较A,B两个string,结果是(相等为0,不等非0):" << A.compare(B) << endl;//int x = 10;//void* p = &x;//cout << sizeof(void*) << " address" << p << endl;return 0;
}
输出结果为:
从程序中可以看到,在比较字符串不能用"=="的原因是字符串本身是一个地址,举例:
char a[]="aaa";
很容易理解a是一个指向字符串的指针,但同时也应该知道包含引号在内的"aaa"字符串本身也是一个地址,指向该字符串的首元素,故而会有 *"aaa"的结果为a。
对于string对象而言,则没这么多注意事项。。。
c\c++中比较两个字符串或string对象是否相等相关推荐
- python字符串能减吗_在python中减去两个字符串(Subtract two strings in python)
在python中减去两个字符串(Subtract two strings in python) 我应该计算两个不同列表的元素之间的差异. 这是我的代码: import operator a = ['5 ...
- Python中判断两个字符串的内容是否相同
1 前言 今天在划分数据集的时候,需要判断两个字符串的内容是否相同,这个之前查过,不过好像忘记了,所以想着再记录一下- 2 Python中判断两个字符串的内容是否相同 使用"==" ...
- JAVA中判断两个字符串是否相等
Java中判断字符串是否相等 相等判断操作符 == Java中, ==相等判断符用于判断基本数据类型和引用数据类型.当判断基本数据类型时,判断的是数值,当判断引用数据类型时,判断变量是否指向同一引用对 ...
- C语言字符串判断是否与已知相同,C语言中判断两个字符串是否相同的方法
C语言中判断两个字符串是否相同的方法 C语言提供了几个标准库函数,可以比较两个字符串是否相同.以下是用strcmp()函数比较字符串的一个例子: #include #include void main ...
- php找出字符串不同地方,PHP中比较两个字符串找出第一个不同字符位置例子
PHP中比较两个字符串找出第一个不同字符位置例子 一般的做法就会这样: 复制代码 代码如下: for ($offset = 0; $offset < $length; ++$offset) { ...
- android 多行 输入框,EditTextView Android中的多行字符串(Multiline String in EditTextView Android)...
EditTextView Android中的多行字符串(Multiline String in EditTextView Android) 我用这段代码创建了我的EditTextView: mEdit ...
- MATLAB中字符变量(char)和字符串变量(string)的异同
文章目录 MATLAB中字符变量(char)和字符串变量(string)的异同 1.表现形式上 2.相同用法 3.差异 4.两者转换 MATLAB中字符变量(char)和字符串变量(string)的异 ...
- 相同字符串的string对象不等
今天遇到一个问题,用复制构造函数构造出来的String和同一个字符串的string对象居然不相等,即A和B是相同字符串的string,调用C=string(A)之后,C和B不相等. 后来改成C = s ...
- 找出两个字符串中所有共同的字符_面试中的两个字符串问题竟给我整懵了?!| 原力计划...
作者 | 一路向维 责编 | 王晓曼 出品 | CSDN博客 昨天收到通知,今天有个面试,一家魔都中型电商公司,名字咱就不说了.内心顿时踌躇满志.跃跃欲试,晚上还翻看面试题,做准备. 到了目的地之后, ...
最新文章
- POJ 2728 Desert King [最优比率生成树]
- !--处理:借款冲销不自动冲减预算--
- 关于大小型项目如何最大限度提高WebAPi性能
- 利用xml+xsl给客户机添加超级管理帐户!
- boost::range模块transformed相关的测试程序
- 两圆相交求面积 hdu5120
- 利用回溯法解决1-9之间添加+或-或使得运算结果为100的问题
- Leetcode--16. 最接近的三数之和
- GNU make使用(二)
- Ghost 2.18.3 发布,基于 Markdown 的在线写作平台
- 第十八篇 JS传参数
- 这个轮子让SpringBoot实现api加密So Easy!
- Android Library的创建及使用详解
- C语言程序设计实践教程 邹显春pdf
- 2007年9月运势之水瓶座
- 技术管理规划-如何设定团队的目标
- 网络流——最大流和最小割
- 美通企业日报 | 阿迪达斯和碧昂丝达成标志性合作;万豪国际公布亚太区2020年发展愿景...
- eclipse 下载和安装教程(初学者,2022最新版)
- 时隔一年才发现嵌入式到底指的是什么
热门文章
- 20款超酷的404错误页面(上)
- 让你彻底明白什么叫游戏引擎(2)
- stl变易算法(二)
- sftp访问_实时数据处理探索:接收、处理、访问
- 机器学习实现计算不规则图形面积_《图形编程技术学习》(五十八)用VS实现逐顶点的光照计算...
- php替换图片_php实现图片上传并进行替换操作
- linux安装软件imagemagick,Linux系统中怎么安装和使用ImageMagick软件?
- 圣经 英文有声 android,英文有声+Epub Foundation Series 7部 Isaac Asimov - Audiobook
- java gui构建机制_java-从构造函数构建GUI. [设计决策]
- springboot旅游系统设计技术描述_5A旅游景区标识标牌系统业材料的工艺技术