zoukankan      html  css  js  c++  java
  • 今天在看一些面试题的时候遇到的一个关于strcmp()返回值的细节问题

    先看代码

    $x=array("aaa","","ccc","ddd","");
    $str = "LAMP";
    $str1 = "LAMPBrother";
    $strc = strcmp($str,$str1);
    echo $strc;
    switch ($strc){
    case 1:
    echo"str > str1";
    break;
    case -1:
    echo"str < str1";
    break;
    case 0:
    echo"str=str1";
    break;
    default:
    echo "str <> str1";
    }

    在文档中关于strcmp()的返回值 是这样说的

    返回值

    如果 str1 小于 str2 返回 < 0; 如果 str1 大于 str2 返回 > 0;如果两者相等,返回 0。

    其实当返回值小于零或者大于零的时候,最终返回的是 正负号乘以相差的字符数的值

    就如此题 最后返回值就是 -1*7=-7;

    所以最后的答案是str<>str1;

     



  • 相关阅读:
    飞机大战4-我的子弹
    飞机大战3-我的飞机
    飞机大战1-分析设计
    继承
    常见题
    42个例子算法
    心跳
    tomcat
    service
    URI URL
  • 原文地址:https://www.cnblogs.com/sharedistance/p/4984848.html
Copyright © 2011-2022 走看看