zoukankan      html  css  js  c++  java
  • C语言学习之我见strncmp()字符串比较函数(控制范围)

    strncmp()函数,用于范围内,两个字符串的比较,n表示最大比较范围。
    (1)函数原型

    int  strncmp(const char *_Str1,const char *_Str2,size_t _MaxCount);
    

    (2)头文件

    string.h
    

    (3)功能

    比较const char *_Str1,const char *_Str2所指的字符串内容,
    并根据size_t _MaxCount确定比较范围,第一个遇到的不相等字符ASCII值差确定返回值。。\
    相等:0
    范围内_Str大于_Str2:1
    范围内_Str小于_Str2:-1
    

    (4)基础实例代码

        printf("%d\n",strncmp("zobola","zobolb",5));
    	printf("%d\n",strncmp("zobola","zobolb",6));
    

    (5)输出情况
    在这里插入图片描述
    (6)问题1:字符可以不可以
    回答,不可以,字符char跟字符数组首地址char*完全不同

    (7)问题2:n超过字符数组最大会怎么样?
    回答:没有关系,N本身就是最大范围,而不是确定范围

    printf("%d\n",strncmp("zobola","zobolb",1000));
    

    在这里插入图片描述
    (8)问题3:如果输入是字符数组,而不是字符串会怎么样?
    回答:函数会只访问到'0'为止,如果没有则访问到结尾

    	char a[]="zobol\0we";
    	char b[]="zobol\0sds";
    	printf("%d\n",strncmp(a,b,9));
    

    在这里插入图片描述

    (9)问题4:如果两个字符串大小不一样怎么比?
    回答,默认不足的补全为'0'

    如有帮助,欢迎加我的个人公众号:zobol的魔法藏书室

  • 相关阅读:
    sql server 查询数据判断为空
    sql 排序
    ASP.NE 上传文件控件
    JQ 获取下一个元素和获取下一个元素的[指定]子元素
    sql server 查询时间 格式化输出
    ASP.NET 页面验证cookie
    ASP.NET MD5加密
    HTML编辑器ASP.NET
    Repeater控件
    20150215-情愿
  • 原文地址:https://www.cnblogs.com/zobol/p/14356699.html
Copyright © 2011-2022 走看看