• 字符串的比较问题


    这个例子就在最开始编写的时候出现了字符串比较的问题

    然而在检查代码的时候并没有注意

    就举一个简单的例子

     1 #include<stdio.h>
     2 
     3 int main()
     4 
     5 {
     6 
     7 char string1[10],char string2[10];
     8 
     9 gets(string1);
    10 
    11 gets(string2);
    12 
    13 if(string1==string2)
    14 
    15 {
    16 
    17 printf("相同");
    18 
    19 }
    20 
    21 else
    22 
    23 {
    24 
    25 printf("不相同");
    26 
    27 }
    28 
    29 }

    这个例子不论怎么输入都显示出来 “不相同”

    这是因为数组名代表的这个数组的首地址

    在比较的时候相当于在比较两个指针 所以不论怎么比较都不会相等

    所以我们可以使用包含在<string.h>中的strcmp()对字符串进行比较

    strcmp()的情况及返还值

    当第一个字符串小于第二个字符串的时候  返还  <0

    当第一个字符串等于第二个字符串的时候  返还    0

    当第一个字符串等于第二个字符串的时候  返还  >0

    strcmpi()和stricmp() 对字符串大小写不敏感比较

  • 相关阅读:
    什么是缓存?
    什么是反射?
    Nginx配置文件详解
    数据库插入,修改出现中文乱码解决办法
    hadoop的HA机制+zookeeper
    cascading--wordcount
    心情3
    完成用户登录注册功能
    感慨1
    Swing程序设计-初级
  • 原文地址:https://www.cnblogs.com/foreverW/p/6550239.html
Copyright © 2020-2023  润新知