如何判断字符串是否相等

如题所述

可以使用库函数strcmp判断:strcmp是C语言比较字符串的库函数,形式为int strcmp(char *a, char *b);该函数会对a和b的每个字符,按照ascii码值比较,如果二者完全相同返回0;如果a的ascii码值先出现较大者,会返回1;否则返回-1。所以,要判断字符串相等,可以使用。

"); else printf("str_1 is not equal to str_2.

"); if (strcmp(str_1, str_3) == 0) printf("str_1 is equal to str_3.

"); else printf("str_1 is not equalto str_3.

");} 上例的打印输出如下所示: str_1 is equal to str_2. str_1 is not equal to str_3. strcmp()函数有两个参数,即要比较的两个字符串。strcmp()函数对两个字符串进行大小写敏感的(case-sensitiVe)和字典式的(lexicographic)比较,并返回下列值之一。

串接子串

“串接”是 Σ* 上的重要二元运算。对于 Σ* 中的两个字符串 s 和 t,它们的串接被定义为在 s 中的字符序列之后跟随着 t 中的字符序列,并被指示为 st。例如,Σ = {a, b, …, z},并且 s = bear 且 t = hug,则 st = bearhug 而 ts = hugbear。

字符串串接是结合性的,但非交换性运算。空串充当单位;对于任何字符串 s,有 εs = sε = s。所以,集合 Σ* 和串接运算形成了幺半群,就是从 Σ 生成的自由幺半群。此外,长度函数定义从 Σ* 到非负整数的幺半群同态。

以上内容参考:百度百科-字符串

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-02-29
ava中判断字符串是否相等有两种方法:1、用“==”运算符,该运算符表示指向字符串的引用是否相同,比如: String a="abc";String b="abc",那么a==b将返回true。这是因为在java中字符串的值是不可改变的,相同的字符串在内存中只会存一份,所以a和b指向的是同一个对象;再比如:String a=new String("abc"); String b=new String("abc");那么a==b将返回false,因为a和b指向不同的对象。2、用equals方法,该方法比较的是字符串的内容是否相同,比如:String a=new String("abc"); String b=new String("abc"); a.equals(b);将返回true。所以通常情况下,为了避免出现上述问题,判断字符串是否相等使用equals方法。本回答被提问者和网友采纳
相似回答