请问C++中 if(!strcmp(A,B)) 中的!strcmp代表什么意思

[复制链接]
查看11 | 回复1 | 2020-3-3 14:20:38 | 显示全部楼层 |阅读模式
strcmp(s1,s2)为字符串比较函数,比较的是从字符串的第一个字符开始比较他的ASCLL码值,跟字符串的长度无关。当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下面的语句
回复

使用道具 举报

千问 | 2020-3-3 14:20:38 | 显示全部楼层
strcmp是一个函数,表示字符串比较(字典序),该函数返回0 如果A在B之后if(!strcmp(A,B))等价于if(strcmp(A,B)==0),即若A,B两字符串相等。希望这个答案对你有用字符串函数- strcmp原型:extern int strcmp(char *s1,char * s2);
用法:#include
功能:比较字符串s1和s2。
说明:
当s1s2时,返回值>0
举例:
// strcmp.c
#include
#include
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;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行