strcmp()函数

  1. 有时我们经常会比较俩个字符串之间的内容,而字符串的定义是通过数组定义或指针定义,但无论是哪种,在比较字符串内容时,都会用到指针,即:

对于数组定义:
在这里插入图片描述
在这里插入图片描述
由以上代码可知,因为arr和brr都是指针,所以arr!=brr检查的不是俩个字符串的内容是否相等,而检查的是俩个字符串的地址是否相同,因为arr和brr储存在不同的位置,所以这俩个地址不可能相同,所以无论输入什么,即使输入的字符串内容相同,它也会出现错误。

对于指针定义则没有这种问题,即:
在这里插入图片描述
在这里插入图片描述
—————————————— —分割线————————————————
2. 所以,为了解决数组定义出现的问题,引入了strcmp()函数

  1. strcmp()有俩个参数,因为该函数比较的是字符串,不是字符,所以其参数应该是字符串(如“apples"和“A”,其本质是地址),而不是字符(如’A’

  2. 它比较的是字符串,不是整个数值,也不是字符

  3. 如果俩个字符串开始的几个字符相同,则strcmp()函数会依次比较每个字符,直到发现第一对不同的字符为止,然后返回相应的值

  4. strcmp()的返回值要么是正数,要么是负数,要么是0,它返回一个什么类型的数是由它的参数所决定的。(具体解释见博客strcmp函数中的ASCII

  5. 大多数情况下,strcmp()返回的具体值并不重要,我们只在意该值是0还是非0(即比较的俩个字符串是否相等

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值