关于怎么样判断字符串。

         个人经历:记得第一次做一道判断字符串的题时,自己想当然的直接用对于号去判断,附代码(错误示范)
#include<stdio.h>
int main()
{
    char arr[]="abc";
    if(arr=="adc")
    {
        printf("haha!\n");
    }
    else
    {
        printf("hehe!\n")
    }
    return 0;
}
很显然执行后的结果就是hehe!我当时也很纳闷,这不就是判断是否相等嘛,直到我知道了strcmp函数!
#include<stdio.h>
int main()
{
    char arr[]="abc";
    int ret=strcmp(arr,"abc");
    if(ret==0)
    {
        printf("haha!\n");
    }
    else
    {
        printf("hehe!\n")
    }
    return 0;
}
终于在strcmp函数的帮助下这一次的结果就是我想要的haha!啦
1、比较一个字符串是否相等需要用到 strcmp函数
2、当使用strcmp函数比较字符串大小时候会返回以下的值:
      ​1.当第一个字符串的首字符 大于 第二个字符串的首字符时,返回一个>0的数。
      2.当第一个字符串的首字符 小于 第二个字符串的首字符时,返回一个<0的数。
      3.当第一个字符串的首字符 等于 第二个字符串的首字符时,返回0。
格式为:strcmp(“字符串1”,“字符串2”) <0 or ==0 or >0
3、strcmp比较的过程是一对一对的比较ASC II值的大小,如下:
    
char arr1[]="abce"
char arr2[]="abcd"
    此时arr1和arr2分别顺序比较:
                                                     arr1:a b c e \0
                                                     arr2:a b c d \0
                                比较顺序              1  2 3 4 5 
    这里给出ASCII表,咱们对照一下。
    
    1比出的结果是a=a=97 
   2比出的结果是b=b=98
   3比出的结果是c=c=99
   4必出的结果是d<e 至此返回的便是一个小于0的值
    一旦比较出大小后便会结束比较返回值。

有写不好的地方希望大佬们多多提点提点!!!感谢感谢!!!

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值