精华内容
下载资源
问答
  • 字符串比较函数strcmp格式: strcmp(字符数组名1,字符数组名2)功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。 字符串1=字符串2,返回值=0; 字符串2〉字符串2,返回值〉0; 字符...

    字符串比较函数strcmp

    格式:  strcmp(字符数组名1,字符数组名2)
    功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。
        字符串1=字符串2,返回值=0;
        字符串2〉字符串2,返回值〉0;
        字符串1〈字符串2,返回值〈0。

    本函数也可用于比较两个字符串常量,或比较数组和字符串常量。

    ANSI标准规定,返回值有正数,负数,0.而确切数值是依赖不同的C实现的。

    Return Value

    Returns an integral value indicating the relationship between the strings:
    return valueindicates
    <0the first character that does not match has a lower value in ptr1 than in ptr2
    0the contents of both strings are equal
    >0the first character that does not match has a greater value in ptr1 than in ptr2


    1.一般来说,返回值会是:1 0 -1



    2.有些会把两个字符的ASCII码之差作为比较结果由函数值返回。

    展开全文
  • strcmp返回值布尔类型的判断 strcmp: 用于比较两个字符串,原型如下: int strcmp ( char const *s1, char const *s2);如果s1小于s2,strcmp函数返回一个小于零的值。如果s1大于s2,函数返回一个...

    strcmp返回值布尔类型的判断

    strcmp: 用于比较两个字符串,原型如下:

    int strcmp ( char const *s1, char const *s2);
    如果s1小于s2,strcmp函数返回一个小于零的值。如果s1大于s2,函数返回一个大于零的值。如果两个字符串相等,函数就返回零。

    警告:初学者常常会编写下面这样的表达式
             if ( strcmp (a, b))
        他以为如果两个字符串相等,它的结果将是真。但是,这个结果将正好相反,因为在两个字符串相等的情况下返回值是零(假)。 把这个返回值当作布尔值进行测试是一种坏风格,因为它具有三个截然不同的结果:小于、等于和大于。 所以更好的方法是把这个返回值与零进行比较。

    当然我们在实际工作中也经常会碰到将其返回值与布尔值进行判断,我们来看下面这个例子:

       char a[];
       ……
    if ( !strcmp( a, "5"))
       {   printf(“equally!”);
       }else{
           printf("unequal!");
       }

    在这个例子中我们分析下:
    如果a的值为5,则返回值为0,那么判断也就成为 if(!(0)) ,(0)取反后为1 ,1位TRUE则判断为 if( TRUE )
    如果a的值小于5,则返回一个负数,而负数的取反是FALSE; 大于5,则返回一个正数,正数的取反也是FALSE; 
    因此上例中a 的值为5 则输出 equally ; 不等于5都输出 unequal 

    我们可以做一个小测试 -1 、 0 、 1三数分别取反,会得到 0、1、0 。

    标准并没有规定用于提示不相等的具体值。它只是说如果第一个字符串大于第二个字符串就返回一个大于零的值,如果第一个字符串小于第二个字符串就返回一个小于零的值。一个常见的错误是一位返回值就是1和-1,分别代表大于和小于。这个假设并不总是成立。 (跟具体的编译器有关)

    转自:http://piao8163.blog.163.com/blog/static/96972478200981343957704/

    posted @ 2017-10-11 17:34 ff_d 阅读( ...) 评论( ...) 编辑 收藏
    展开全文
  • strcmp: 用于比较两个字符串,原型如下: int strcmp ( char const *s1, char const *s2); 如果s1小于s2,strcmp函数返回一个小于零的值。如果s1大于s2,函数返回一个大于零的值。如果两个字符串相等,函数就...
    strcmp: 用于比较两个字符串,原型如下:
    
    int strcmp ( char const *s1, char const *s2);
    如果s1小于s2,strcmp函数返回一个小于零的值。如果s1大于s2,函数返回一个大于零的值。如果两个字符串相等,函数就返回零。

    警告:初学者常常会编写下面这样的表达式
             if ( strcmp (a, b))
        他以为如果两个字符串相等,它的结果将是真。但是,这个结果将正好相反,因为在两个字符串相等的情况下返回值是零(假)。 把这个返回值当作布尔值进行测试是一种坏风格,因为它具有三个截然不同的结果:小于、等于和大于。 所以更好的方法是把这个返回值与零进行比较。

    当然我们在实际工作中也经常会碰到将其返回值与布尔值进行判断,我们来看下面这个例子:

       char a[];
       ……
    if ( !strcmp( a, "5"))
       {   printf(“equally!”);
       }else{
           printf("unequal!");
       }

    在这个例子中我们分析下:
    如果a的值为5,则返回值为0,那么判断也就成为 if(!(0)) ,(0)取反后为1 ,1位TRUE则判断为 if( TRUE )
    如果a的值小于5,则返回一个负数,而负数的取反是FALSE; 大于5,则返回一个正数,正数的取反也是FALSE; 
    因此上例中a 的值为5 则输出 equally ; 不等于5都输出 unequal
    展开全文
  • if(strcmp(name,"abc") == 0 && strcmp(pwd,"123456") == 0){ printf("---交换机管理系统---\n"); printf("1.登录\n"); printf("2.创建帐号\n"); printf("3.退出\n"); }else{ printf("\n用户名...
  • strcmp返回值怎么理解容易?

    千次阅读 2020-03-01 17:00:33
    strcmp返回值分析 首先我们都知道它是一个字符串比较函数,通过两个字符串的相应的每一位字母(注意这里是字母)的ascll码然后得出一个结果。 其实有一种简单的方式可以判断它的返回值到底是什么,通过这篇文章,...

    strcmp的返回值分析

    1. 首先我们都知道它是一个字符串比较函数,通过两个字符串的相应的每一位字母(注意这里是字母)的ascll码然后得出一个结果。
    2. 其实有一种简单的方式可以判断它的返回值到底是什么,通过这篇文章,你或许就可以摆脱死记硬背了。
    3. 首先从根源上讲起,它既然是将strcmp(char a,char b)这其中的字符串a与字符串b的对应每一位字符ascll码相比较,那么我们就可以理解为字符串a的ascll码和与字符串b的ascll码和做了一个相减的过程,然后得出了各自不同的结果。由此我们得出以下结论
    4. 首先若a=b 那么就说明它们相减为0自然返回值也就是0。
    5. 其次a>b 那么就说明它们相减为个正整数返回值也便是正整数。
    6. 最后a<b 那么也就说明返回值是一个负数

    分析到此结束,感谢大家查看,如有错误,恭听大神们赐教。

    展开全文
  • 关于strcmp()返回值的细节问题

    千次阅读 2016-10-26 13:18:00
    先看代码 $x=array("aaa","","ccc","ddd","");$str = "LAMP"; $str1 = "LAMPBrother"; $strc = strcmp($str,$str1);echo $strc; switch ($strc){ case 1: echo"str > str1";
  • strcmp()比对返回值不符

    千次阅读 2017-10-24 20:52:45
    我用vs2012的帮助文档查到 strcmp(str1,str2); str1>str2 strcmp返回值>0;实际返回值 str1 str1=str2 strcmp返回值=0;实际返回值>0
  • strcmp(str1,str2)是它的使用格式; 而在比较的时候,又要先判断它们两之间的长度大小关系,如果不相等,肯定不会比较后得到的的结果是一样的;如果不等的话: 我们假设str1 >str2,那我们要遍历str1:while(*str1 !...
  • c++ strcmp函数

    2019-10-01 03:42:08
     一般形式:strcmp(字符串1,字符串2)  返回值:  当s1<s2时,返回值<0  当s1=s2时,返回值=0  当s1>s2时,返回值>0  即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现...
  • strcmp返回值布尔类型的判断 strcmp: 用于比较两个字符串,原型如下: int strcmp ( char const *s1, char const *s2); 如果s1小于s2,strcmp函数返回一个小于零的值。如果s1大于s2,函数返回一个大于...
  • 错误2:strcmp返回值问题

    千次阅读 2013-04-12 14:17:02
    #include #include using namespace std; class Str { public:  Str( char* str):p(str){};  bool operator>(Str &str);  char* p; }; bool Str::operator >(Str ... return(strcmp(this->p,str.p)>0);//之前此处
  • strcmp返回值 linux下的vim下; 返回值为前面的字符串的减去后面字符串的值; vs2019下: #include<iostream> using namespace std; int main() { char ch[] = "asdasd"; char ch2[] = "asdasd"; ...
  • 关于strcmp这个函数标准时这样规定的:   int strcmp ( const char * str1, const char * str2 ); Compare two strings Compares the C string str1 to the C string str2. This function starts ...
  • strcmp函数返回值是0,一直动用错了

    千次阅读 2013-01-07 10:02:04
    原型:extern int strcmp(const char *s1,const char * s2);  用法:#include string.h>  功能:比较字符串s1和s2。  一般形式:strcmp(字符串1,字符串2)  说明:  当s1  当s1...
  • if(strcmp(a,c)==0)//找到相同的日期 { if(m.cost==0);//如果消费额为零不输出 continue; printf("\t%s\t%d\n",m.name,m.cost); all+=m.cost; } } printf("\t总营业额:%d",all); ...
  • 在测试的时候,需要增加断言对测试结果进行判断,或需要接收返回码,进行下一步操作,这里就需要对服务器返回的响应码进行判断,这就会用到strcmp()函数。 其实非常简单,首先将服务器返回码保存在某个参数中,与你...
  • 在MOOC里C语言程序设计(翁恺)10.2节第三个视频中,代码: #include #include int main(int argc,char const *argv[]) { char a[]="abc";... printf("strcmp=%d\n",strcmp(a,b)); printf("A-a=%d\n",'A'-
  • c++中的strcmp的坑

    2020-12-27 16:12:16
    参考:https://baike.baidu.com/item/strcmp/5495571?fr=aladdin 参考:http://c.biancheng.net/c/strcmp.html 题目:https://www.luogu.com.cn/problem/P1781 #include<bits/stdc++.h> using namespace std; ...
  • PHP中,比较两个字符串是否相等用:strcmp();PHP strcmp() 函数PHP String 函数定义和用法strcmp() 函数比较两个字符串。...0 - 如果 string1 大于 string2语法strcmp(string1,string2) 参数 描述 ...
  • strcmp

    千次阅读 多人点赞 2016-06-12 15:15:14
    int strcmp(const char *s1,const char *s2); 参数 s1 - 字符串1 s2 - 字符串2 功能 比较两个字符串大小区分字母的大小写 返回值 当s1 当s1=s2时,返回值= 0; 当s1>s2时,返回正数。
  • 调用strcmp()需要包含头文件 string.h #include<string.h> 调用格式 strcmp(str1,str2) 返回值 strcmp(str1,str2) > 0 字符串1>字符串2 strcmp(str1,str2) < 0 字符串1<字符串2 strcmp(str1,str2)...
  • memcmp和strcmp返回值

    2017-05-12 16:49:00
    注意,无论是内存比较还是字符串比较,这两个函数的返回值的意义是一样的。 如果相同,返回0 如果前面大于后面,返回大于0 如果前面小于后面,返回小于0 一定要注意,相同的时候是0,不是true。 转载于:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,528
精华内容 12,611
关键字:

strcmp返回值