精华内容
下载资源
问答
  • c语言比较两个字符是否相等strcmp

    万次阅读 多人点赞 2017-03-27 13:38:46
    C语言提供了几个标准库函数,可以比较两个字符是否相同。以下是用strcmp()函数比较字符串的一个例子: #include #include int main(void) { char str_1[] = "abc"; char str_2[] = "abc"; char str_3[] = ...

    c语言提供了几个标准库函数,可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子:

     

     

     

     

     

    #include <stdio.h>
    #include <string.h>
    int main(void)
    {
        char str_1[] = "abc"; 
        char str_2[] = "abc";
        char str_3[] = "ABC";
        if (strcmp(str_1, str_2) == 0)
            printf("str_1 is equal to str_2. \n");
        else
            printf("str_1 is not equal to str_2. \n");
        if (strcmp(str_1, str_3) == 0)
            printf("str_1 is equal to str_3.\n");
        else
            printf("str_1 is not equal to str_3.\n");
        return 0;
    }


    上例的打印输出如下所示:   

     

    strcmp()函数有两个参数,即要比较的两个字符串。strcmp()函数对两个字符串进行大小写敏感的(case-sensitiVe)和字典式的(lexicographic)比较,并返回下列值之一:
    ----------------------------------------------------
        返  回  值         意  义
    ----------------------------------------------------
        <0               第一个字符串小于第二个字符串
         0               两个字符串相等    ·
        >0               第一个字符串大于第二个字符串
    ----------------------------------------------------

    在上例中,当比较str_1(即“abc”)和str_2(即“abc”)时,strcmp()函数的返回值为0。然而,当比较str_1(即"abc")和str_3(即"ABC")时,strcmp()函数返回一个大于0的值,因为按ASCII顺序字符串“ABC”小于“abc”。

    strcmp()函数有许多变体,它们的基本功能是相同的,都是比较两个字符串,但其它地方稍有差别。下表列出了C语言提供的与strcmp()函数类似的一些函数:   
    -----------------------------------------------------------------
        函  数  名                   作  用
    -----------------------------------------------------------------
        strcmp()         对两个字符串进行大小写敏感的比较
        strcmpi()        对两个字符串进行大小写不敏感的比较
        stricmp()        同strcmpi()
        strncmp()        对两个字符串的一部分进行大小写敏感的比较
        strnicmp()       对两个字符串的一部分进行大小写不敏感的比较
    -----------------------------------------------------------------
    在前面的例子中,如果用strcmpi()函数代替strcmp()函数,则程序将认为字符串“ABC”等于“abc”。

     

     

     

     

     

     

     

     

     

    展开全文
  • java:比较两个字符是否相等

    千次阅读 2019-11-20 21:31:54
    比较两个字符是否相等关键词相关说明源码运行结果 关键词 boolean a=str0.equals(str1); boolean b=str0.equalsIgnoreCase(str1); equals(平等) Ignore(忽略) Case(大小写) 相关说明 比较两个字符是否相等,...

    比较两个字符串是否相等

    关键词

    boolean a=str0.equals(str1);
    boolean b=str0.equalsIgnoreCase(str1);
    equals(平等)
    Ignore(忽略)
    Case(大小写)

    相关说明

    比较两个字符串是否相等,这里有两种形式,一种是不忽略大小写进行比较(equals),另一种是忽略大小写进行比较(equalsIgnoreCase)。

    源码

    /*所想:
    	判断两个字符串是否相等
    两种方式:
    	equals是却别大小写来进行比较是否相等
    	equalsIgnoreCase是忽略大小写进行比较
    
    关键词:
    	boolean a=str0.equals(str1);
    	boolean b=str0.equalsIgnoreCase(str1);
    	equals(平等)
    	Ignore(忽略)
    	Case(大小写)
    */
    
    class Demo{
    	public static void main(String[] args){
    		String GAME0="LOL CF DNF NZ";//名称大写
    		String game0="lol cf dnf nz";//名称小写
    		boolean b0=GAME0.equals(game0);//不忽略大小写比较两个字符
    		boolean b1=GAME0.equalsIgnoreCase(game0);//忽略大小写比较两个字符
    			System.out.println("不忽略大小写比较“LOL CF DNF NZ”和“lol cf dnf nz”的结果:"+b0);
    			System.out.println("忽略大小写比较“LOL CF DNF NZ”和“lol cf dnf nz”的结果:"+b1);
    	}
    }
    

    运行结果

    在这里插入图片描述

    展开全文
  • 本文实例讲述了PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法。分享给大家供大家参考,具体如下: PHP中的strncmp()函数用于比较两个字符串(区分大小写),可判断两个字符串前n个字符是否相等。 ...
  • 从键盘录入两个字符串,从而比较两个字符串的大小(分析:要想判断两个字符是否一样大,首先要判断出字符串大小是否相等,其次判断字符串中的每个字符是否相同) package com.ghgj.String01; import java.util....

    从键盘录入两个字符串,从而比较两个字符串的大小(分析:要想判断两个字符串是否一样大,首先要判断出字符串大小是否相等,其次判断字符串中的每个字符是否相同)

    package com.ghgj.String01;
    import java.util.Scanner;

    public class String03 {
    public static void main(String[] args) {
    Scanner scanner=new Scanner();
    System.out.println(“请输入第一个字符串”);
    String str1=scanner.nextLine();
    System.out.println(“请输入第二个字符串”);
    String str2=scanner.nextLine();
    boolean compare=compare(String str1,String str2);
    System.out.println(compare);

    }
    public static boolean compare(String str1,String str2){    //定义一个方法,把两个字符串传进来进行比较
            if(str1.leng()==str2.length()){       //首先判断长度是否相等,如果长度相等还判断个锤子,直接return false
                        for(int i=0;i<str1.length();i++){  //随便遍历哪一个字符串都可以,因为它们的长度是相等的
                        if(str1.charAt(i)!=str2.charAt(i)){    //charAt这个方法是查找索引值对应的字符
                         return false;    //这里判断不等于好一些,因为一个字符串中有好多个字符,总不能是有一个相等就证明整个字符串就相等吧,所以要判断不等于
                        
                        }
                        return true;
                        }
            
            }
            return false;       
    }
    }
    
    展开全文
  • 比较两个字符是否相等的shell代码,需要的朋友可以参考下
  • C语言:比较两个字符是否相等

    万次阅读 多人点赞 2018-09-24 13:02:23
    1) 使用strcmp进行比较 下面通过一例子进行演示: #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main(void) { char* str1 = "abc"; char* str2 = "abc"; ...

    1) 使用strcmp进行比较

    下面通过一个例子进行演示:

    #include <stdio.h>
    #include <string.h>
    
    int main(void)
    {
    	char* str1 = "abc";
    	char* str2 = "abc";
    
    	if (strcmp(str1, str2) == 0) {
    	    printf("str1和str2相同!\n");
    	}
    	else {
    	    printf("str1和str2不相同!\n");
    	}
    
    	return 0;
    }

    讲解上面的程序:

    定义了一个char(字符型)的指针变量str1,并且初始化为 "abc"

    定义了一个char(字符型)的指针变量str2,并且初始化为 "abc"

    通过strcmp进行比较两个字符串是否相同,如果相同返回0(详细见strcmp百度百科)

     

    2) strcmp的实现

    (实现代码来源于strcmp百度百科)

    int __cdecl strcmp (const char *src, const char *dst)
    {
            int ret = 0 ;
            while(!(ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)
            {
                    ++src;
                    ++dst;
            }
            if ( ret < 0 )
                    ret = -1 ;
            else if ( ret > 0 )
                    ret = 1 ;
            return( ret );
    }

    下面进行讲解:

    定义了一个int(整型)的变量ret,并且初始化为0

    (unsigned char*) src 表示将src强制转换为unsigned(无符号)的char(字符型)变量 (同理dst)

    *(unsigned char*) src 表示获取src中的数据(同理dst)

    *(unsigned char*) src - *(unsigned char*)dst,

    *(unsigned char*) src表示获取当前src的数据,(假设为"a")

    *(unsigned char*)dst表示获取当前dst的数据,(假设为"a")

    根据ASCII码表 "a"为65,(ASCII码表)

    所以src - dst,所表示的就是 65 - 65,返回结果为0

    (ret = *(unsigned char *)src - *(unsigned char *)dst),所以ret 为0

    !(ret = *(unsigned char *)src - *(unsigned char *)dst),取反ret

    *dst,*dst为获取dst的数据,因为每个字符串的结尾都有一个"\0"(ASCII码表中为0)

    判断true和false,其实就是0为false,非0为true,所以可以得出,

    如果dst到了字符串末尾,则退出循环

    ++src,表示将src的指针向后移动一位(同理dst) (如果这里不懂的可以看下面)

    下面的if...else if则是根据ret的返回值进行返回对应的数值(详细见strcmp百度百科)

    PS :(因为char、unsigned char 都只占一个字符,所以*src也就获取当前src所指向的字符)

     

    3)不懂++src的可以看下

    ++src,表示将src的指针向后移动一位

     

    好的,下面进行讲解:

    假设当前src的地址为(0x00898b3c),

    先说src的类型,当前src的类型为char(字符型),char所占内存大小为1字节,

    所以++src后src的地址就变成了(0x00898b3d),

    最后通过++src也就能遍历整个src所指向的内存地址中的数据,然后和dst比较

    首先假设src当前所指向的是 "abc" 的内存地址

    当前src为(0x00898b3c),所指向的是"a"

    所以*src也就是为"a",(可能你们会疑问为什么是"a")

    因为char所占内存大小为1字节,

    所以*src获取的数据也就只获取当前src当前所指向的内存地址的一位中的数据,

    可以这样理解:

    (0x00898b3c)中为"a"

    (0x00898b3d)中为"b"

    (0x00898b3e)中为"c"

    (0x00898b3f)中为"\0"

    所以++src就是不断向后移动指针进行遍历"abc"中的每个字符

     

     

     

    展开全文
  • 比较两个字符串排序后是否相等 解决思路 首先比较字符串的长度,长度不相等的字符串,即使排序后也是不相等。 如果两个字符串长度相符,那么有下面两种方法进行比较两个字符串分别排序后进行比较 比较两个字符串...
  • 【参数】s1, s2 为需要比较两个字符串。 字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0 ...
  • #include&lt;... //比较两个字符是否相等,(或者说前字符串比后字符串不同的地方大几) int My_strcmp( const char *str1,const char *str2) { int tmp=0; while((tmp=*str1-*st...
  • = 是赋值运算符,== 是比较是否相等) 和 equals()方法 来比较两个字符相等的区别: 简单一句话,==比较的是两个字符串的地址是否相等(同一个地址),equals()方法比较的是两个字符串对象的内容是否相同(当然...
  • C++比较两个字符是否相等

    千次阅读 2020-07-14 12:02:14
    今天在刷Leetcode的时候,遇到比较两个string是否相等的问题,在这里总结一下在C++里如果比较两个字符是否相等(包含C风格字符串和string对象)。 一、C风格字符串 C风格字符串的比较使用的是strcmp()函数,原型...
  • 比较两个字符是否相等的两种方式: ①str1.equal(str2); (推荐此方法) 此方式直接地判断两个字符或字符串是否相等。不会比较内存地址。 str1.equal(str2); ②双等于==法 当单纯定义一个字符串/字符变量时,...
  • = 是赋值运算符,== 是比较是否相等) 和 equals()方法 来比较两个字符相等的区别: 简单一句话,==比较的是两个字符串的地址是否相等(同一个地址),equals()方法比较的是两个字符串对象的内容是否相同(当然...
  • C++中对于数字类型的数据我们可以直接使用"=="即可比较是否相等,但是...我们可以利用以下的两个函数来比较两个字符是否相等。 1、strcmp 这是用于ANSI标准字符串的函数(如string和char *),此函数接受两个字...
  • shell比较两个字符是否相等

    千次阅读 2020-02-26 08:47:44
    比较两个字符是否相等的办法是: if [ "$test"x = "test"x ]; then 这里的关键有几点: 1 使用单个等号 2 注意到等号两边各有一个空格:这是unix shell的要求 3 注意到"$test"x最后的x,这是特意安排的,因为...
  • 使用指针来判断两个字符是否相等 cout请分别输入两个字符串str1和str2:"; cin.getline(str1,100); cin.getline(str2,100);
  • -- 此处使用if比较是否相等 --> 范例一: <select id="queryOrderListPage" parameterType="java.util.Map" resultType="java.util.Map"> SELECT EDU_ORDERS.ORDER_ID as orderId, EDU_ORDERS....
  • 今天小编就为大家分享一篇使用python语言,比较两个字符是否相同的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • equalsIgnoreCase(str):比较字符串内容是否相等,但是会忽略(不区分大小写)大小写 【示例】 public static void main(String[] args) { String str="TOM"; boolean rs = str.equalsIgnoreCase("tom");...
  • 在Java中如何比较两个字符是否相等 在java中比较两个字符是否一致不能用双等号,只能调用string的equals方法, 引用数据类型不能用双等等号 package object中的方法; public class Test03 { public static ...
  • 使用python语言,比较两个字符是否相同 #2018/3/1 在编写一些小程序时,我需要比较两个字符是否相同。一开始的思路是使用ord()函数获取字符的整数表示,但是调试过后发现,ord()函数传入的汉字、英文、或者...
  • 比较两个字符是否相同相同显示match 不相同显示no match
  • Java 比较两个字符串内容是否相等

    千次阅读 2020-09-21 23:41:38
    由于一直使用C和C++比较多,C++种的std::string类比较两个字符串内容是否相等时可以直接使用==操作符重载运算符。 下面是根据职位名称获取职位信息以及获取所有职位信息的后台接口代码: package org.javaboy.vhr....
  • C++比较两个字符是否完全相同

    千次阅读 2019-10-24 10:39:59
    在写程序的过程中,经常会遇到要比较两个字符是否相等的情况。如果要比较的对象是char字符串,则利用 int strcmp(const char s1,const char* s2) 当s1 < s2时,返回为负数; 当s1 == s2时,返回值= 0; 当s1 &...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,492,407
精华内容 596,962
关键字:

比较两个字符是否相同