C语言比较两个字符串相等的问题,请人详细讲解

Python010

C语言比较两个字符串相等的问题,请人详细讲解,第1张

C语言字符是一系列字符,也就是char类型排列而成的。一个字符是char类型,一系列字符如何表示?用他们的第一个字符的地址表示,因为字符串在地址上也是连续排列的。并且用\0,在物理上是一个字节的全0位,来表示字符串结束。所以"abcde",空间上是'a'

'b'

'c'

'd'

'e'

'\0'strcmp的参数都是char*,也就是指向字符的指针,原理是从两个指针指向的地址开始对比,直到其中一个\0为止。判断相等与否。实现上是每个字符相减。单纯的==,比较的是字符串手地址是否相等,这样比较,不但比较不了两个字符串相等与否,而且要想相等,还必须两个字符串指向同一个地址。

C语言比较字符串相等 用库函数strcmp

需要引用头文件string.h

方法为

strcmp(s1, s2)

如果s1 s2相等,则返回0

如果s1<s2 返回-1

s1>s2 返回1

比较时按字典序