- wio
-
strcmp(s1,s2)为字符串比较函数,比较的是从字符串的第一个字符开始比较他的ASCLL码值,跟字符串的长度无关。
当s1 > s2 时,返回值 > 0
当s1 = s2 时,返回值 = 0
当s1 < s2时,返回值 < 0
! 为逻辑非运算符,即当值为真时改成假,值为加时改成真
在程序设计的判断真假中0为假,非0为真
扩展资料:
strcmp规则
两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇" "为止。如:
1."A"<"B" 2."A"<"AB" 3."Apple"<"Banana" 4."A"<"a" 5."compare"<"computer"
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。
参考资料来源:百度百科-strcmp
- clou
-
strcmp(s1,s2)为字符串比较函数,比较的是从字符串的第一个字符开始比较他的ASCLL码值,跟字符串的长度无关。
当s1 > s2 时,返回值 > 0
当s1 = s2 时,返回值 = 0
当s1 < s2时,返回值 < 0
! 为逻辑非运算符,即当值为真时改成假,值为加时改成真
在程序设计的判断真假中0为假,非0为真
所以在if(!srcmp(A,B))这个语句中我们可以将A和B的关系设为两种,一种是A==B,另一种是A!=B
当A==B时:strcmp(A,B)为0,!strcmp(A,B)为非0
if判断为真
当A!=B时:strcmp(A,B)为非0,!strcmp(A,B)为0
if判断为假
- cloud123
-
strcmp是一个函数,表示字符串比较(字典序),该函数返回
<0 如果字符串A在B之前
=0 如果A和B相等
>0 如果A在B之后
if(!strcmp(A,B))等价于if(strcmp(A,B)==0),即若A,B两字符串相等。
希望这个答案对你有用
- 豆豆staR
-
! -- 逻辑非运算符。
strcmp(A,B) -- 字符串比较函数。当 A字符串和 B字符串 一样时,函数返回 0。
逻辑运算中,0为假,非0 为真。
!假 得真。!真 得假。
if(!strcmp(A,B)){。。。。}else{...};
当 A字符串和 B字符串 一样时 ,函数返回 0,也就是 假,!假 得真,
所以
当 A字符串和 B字符串 一样时, 执行 {。。。。},
不一样时 执行else{...};
- snjk
-
当s1<s2时,返回值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0
所以,当A和B相等时strcmp(A,B)返回0,那么!strcmp(A,B)就是1了,
也就是说,当A和B相等的时候运行if下面的语句,如果A和B不等,不运行if下面的语句
- 苏州马小云
-
字符串函数- strcmp
原型:extern int strcmp(char *s1,char * s2);
用法:#include <string.h>
功能:比较字符串s1和s2。
说明:
当s1<s2时,返回值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0
举例:
// strcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=strcmp(s1,s2);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}