strcmp(s1,s2)为字符串比较函数,比较的是从字符串的第一个字符开始比较他的ASCLL码值,跟字符串的长度无关。
当s1 > s2 时,返回值 > 0
当s1 = s2 时,返回值 = 0
当s1 < s2时,返回值 < 0
! 为逻辑非运算符,即当值为真时改成假,值为加时改成真
在程序设计的判断真假中0为假,非0为真
扩展资料:
strcmp规则
两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
1."A"<"B" 2."A"<"AB" 3."Apple"<"Banana" 4."A"<"a" 5."compare"<"computer"
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。
参考资料来源:百度百科-strcmp
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判断为假
strcmp是一个函数,表示字符串比较(字典序),该函数返回
<0 如果字符串A在B之前
=0 如果A和B相等
>0 如果A在B之后
if(!strcmp(A,B))等价于if(strcmp(A,B)==0),即若A,B两字符串相等。
希望这个答案对你有用
! -- 逻辑非运算符。
strcmp(A,B) -- 字符串比较函数。当 A字符串和 B字符串 一样时,函数返回 0。
逻辑运算中,0为假,非0 为真。
!假 得真。!真 得假。
if(!strcmp(A,B)){。。。。}else{...};
当 A字符串和 B字符串 一样时 ,函数返回 0,也就是 假,!假 得真,
所以
当 A字符串和 B字符串 一样时, 执行 {。。。。},
不一样时 执行else{...};