问一个比较基础的问题。在字符串操作中,==,strcmp,equal对于判断字符的相等各有什么不同的作用?
时间:2011-12-26
来源:互联网
或者说用法是怎样,什么时候该用哪个?请哪位大侠给小弟我指点迷津一下。
作者: guyancanyun 发布时间: 2011-12-26
这个要看比较什么了。
估计你是想要比较字符串吧。
举个例子吧。
char p1[] = "hello";
char p2[] = "hi";
if (p1 == p2){} //不相等。这样只是比较指针的地址
if (*p1 == *p2){} //相等。这个是比较首地址的值。凑巧,这两个的首地址都是'h'
strcmp(p1,p2); //这个不等,这个是比较两串字符串。一个是"hello","hi"。肯定不一样
简言之
== 只能比较一些值。也可以比较一些结构体的是否相等。不能比较指针指向的内容。
strcmp() 可以比较字符串类指针的内容。
equal 这个小弟才疏学浅,就不知道了。
估计你是想要比较字符串吧。
举个例子吧。
char p1[] = "hello";
char p2[] = "hi";
if (p1 == p2){} //不相等。这样只是比较指针的地址
if (*p1 == *p2){} //相等。这个是比较首地址的值。凑巧,这两个的首地址都是'h'
strcmp(p1,p2); //这个不等,这个是比较两串字符串。一个是"hello","hi"。肯定不一样
简言之
== 只能比较一些值。也可以比较一些结构体的是否相等。不能比较指针指向的内容。
strcmp() 可以比较字符串类指针的内容。
equal 这个小弟才疏学浅,就不知道了。
作者: cobra_chen 发布时间: 2011-12-26
第一个用于类类型比较,string类重载了这个,第二个是C语言比较字符串用的,遇空字符结束。第三个是Stl标准算法库里的模版函数,用来比较两个区间是否相等,要指名第一个区间的结束点
作者: mingliang1212 发布时间: 2011-12-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28