网站地图 - 广告服务- 文章归档
您的当前位置:主页 > 校园文章 > 正文

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

来源:原创 编辑:admin 时间:2020-04-08
导读:strcmp(s1,s2)为字符串比拟函数,比拟的是从字符串的第一个字符末尾比拟他的ASCLL码值,跟字符串的长度有关。 当s1 > s2 时,前去值 > 0 当s1=s2 时,前去值=0 当s1 ! 为逻辑非运算符,即当值

  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辨别为假

  当s1

  当s1=s2时,前去值=0

  当s1>s2时,前去值>0

  所以,当A和B相等时strcmp(A,B)前去0,那么!strcmp(A,B)就是1了,

  也就是说,当A和B相等的时分运转if下面的语句,假设A和B不等,不运转if下面的语句

  ! -- 逻辑非运算符。

  strcmp(A,B) -- 字符串比拟函数。当 A字符串和 B字符串 一样时,函数前去 0。

  逻辑运算中,0为假,非0 为真。

  !假 得真。!真 得假。

  if(!strcmp(A,B)){。。。。}else{...};

  当 A字符串和 B字符串 一样时 ,函数前去 0,也就是 假,!假 得真,

  所以

  当 A字符串和 B字符串 一样时, 履行 {。。。。},

  纷歧样时 履行else{...};

  strcmp是一个函数,表现字符串比拟(字典序),该函数前去

  <0 假设字符串A在B之前

  =0 假设A和B相等

  >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。

  说明:

  当s1

  当s1=s2时,前去值=0

  当s1>s2时,前去值>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;

  }

责任编辑:admin

相关推荐:

Power by DedeCms
Top