原型:extern int strcmp(const char *s1,const char * s2);
功能:比较字符串s1和s2。
一般形式:strcmp(字符串1,字符串2)
说明:
当s1<s2时,返回为负数 注意不是-1
当s1==s2时,返回值= 0
当s1>s2时,返回正数 注意不是1
即:两个
字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
"A"<"B" "a">"A" "computer">"compare"
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。
1
2
3
4
5
6
7
8
9
10
11
|
int
strcmp
(
const
char
*str1,
const
char
*str2)
{
while
(*str1==*str2)
{
if
(*str1==
'\0'
)
return
0;
str1++;
str2++;
}
return
*str1-*str2;
}
|
!5就是非5的意思,在编程语言中是二进制的,只有0或1,所以5也就是1,所以!5(非5)就是0。
if(!5)就是相当于if(0),就相当于if(false),也就是这个 if 后面的语句永远不会运行。