在学习strcmp()函数时记录一个有趣的逻辑

#include <iostream>
#include <cstring>
int main(void)
{using namespace std;char word[5] = "?ate";for (char ch  = 'a'; strcmp(word, "mate"); ch++){cout << word <<endl;word[0] = ch;}cout << "After loop ends,word is " << word << endl;return 0;}

strcmp(word, “mate”) 用来比较两个字符串是否相同 其底层逻辑是逐个比较两个字符串中对应位置的两个字符的ascall码的大小
当前项字符大于后项字符 返回1
当前项字符小于后项字符 返回-1

当前项字符等于后项字符 返回0

结合非0 即为真的逻辑关系
可以巧妙的使用这个特性 来作为for的判断依据
首先需要明确一个概念 字符串常量 字符数组名 在信息流中的传输的本质是指针
因此
strcmp(word, “mate”)所进行的比较 可拆解为
*word中的内容 也就是字符数组中的第一个元素 和 字符串常量 “mate” 中的第一个元素相比较
比较是否相同 相同即为猜对

strcmp()函数详解相关推荐

  1. strcmp函数详解

    strcmp函数使用说明 strcmp函数是专门用来字符串之间的的比较的 这个比较是比较两个字符串是否相同,如果不相同那就比较两个字符串的长度大小. 从图中可以看出strcmp函数的参数是两个字符串, ...

  2. gzdeflate函数_PHP中的gzcompress、gzdeflate、gzencode函数详解

    这篇文章主要介绍了PHP中的gzcompress.gzdeflate.gzencode函数详解,本文深入分析了它们的相同点和不同点,需要的朋友可以参考下 PHP中存在一组看起来很像的压缩解压函数: 压 ...

  3. 冒泡排序和qsort函数详解以及如何模拟实现qsort函数

    一.冒泡排序 冒泡排序是一种常见的排序方式,它可以把数组元素有序或无序的数组进行重新排序,并使得数组中的元素从大到小或从小到大进行排序(就像泡泡一样). 冒泡排序原理: 每次比较数组中的相邻的两个元素 ...

  4. 字符函数和字符串函数详解(二)strncpy strncat strncmp strstr strtok(及其模拟实现)

     系列文章目录 字符函数和字符串函数详解(一)strlen strcpy strcat strcmp 字符函数和字符串函数详解(二)strncpy strncat strncmp strstr str ...

  5. qsort函数详解以及模拟实现

    qsort函数详解以及模拟实现 一.qsort函数是什么 二.具体的使用 1.参数4(参数3在模拟实现时解释) 2.例子 1.排序整形 2.排序结构体 三.模拟实现qsort 1.参数3 2.模拟排序 ...

  6. 【C库函数】qsort函数详解

    目录 qsort ​ 函数基本原型 参数解读 函数详解 比较函数实现并解读 qsort函数排序代码实现并展示结果 1.排序整型数组 2.排序结构体 qsort 函数是基于快速排序算法实现的一个排序函数 ...

  7. C语言网络编程:accept函数详解

    文章目录 前言 函数描述 代码实例 如何得到客户端的IP 和 端口号 前言 当使用tcp服务器使用socket创建通信文件描述符,bind绑定了文件描述符,服务器ip和端口号,listen将服务器端的 ...

  8. 【FFmpeg】函数详解(三)

    FFmpeg函数详解 14.av_write_frame 15.av_interleaved_write_frame 16.av_write_trailer 17.avio_close 18.av_i ...

  9. 【FFmpeg】函数详解(二)

    FFmpeg函数详解 9.av_dump_format 10.avio_open 11.avformat_write_header 12.avcodec_send_frame 13.avcodec_r ...

最新文章

  1. 聊一聊 Redis 数据内部存储使用到的数据结构
  2. axios get 跨域_axios网络交互应用-Vue
  3. PhotoshopCS5中将单位修改成百分比
  4. LLVM各种格式转换图
  5. NOIP2017 普及组题解
  6. 关于瑞萨RH850中断的异常处理函数地址Exception Handler Address的理解
  7. Anaconda卸载与安装
  8. python画正多边形_少儿python编程之画正多边形代码优化教程
  9. 现金流量表补充资料的编制公式
  10. Flutter中使用shared_preferences本地存储
  11. autocad application 版本
  12. c#窗体编辑个人简历_3年工作经验.net程序员简历应该怎么写
  13. 树莓派(Raspberry) WIFI 配置 (无显示器)
  14. 那些可以加速国内外开源库的免费CDN
  15. 荐读:Xilinx ZYNQ 动手实操演练
  16. 广州移动华为认证培训之行
  17. 详解图像二值化 函数threshold
  18. 用myeclipse打包项目时,Security alert:integrity check error。
  19. 程序员专属段子集锦 8/10
  20. 阿里云在线磁盘扩容(最好看阿里云文档)

热门文章

  1. 捡了西瓜丢芝麻——注意编程细节
  2. 天猫精灵如何和我们聊天?
  3. 记录---Testin上新手测试用例设计实战---碎乐3.2.0
  4. java火焰纹章攻略女神之剑_火焰纹章晓之女神图文攻略(4)
  5. 古代平朔历法基本算法
  6. 小红书笔记怎么写提高转化率
  7. 30分钟教你写出10分的淘宝标题
  8. 互联网大公司与创业公司
  9. 组态王与三菱PLC编程软件GXWorks2通过OPC数据库进行动态仿真
  10. Mybatis学习笔记(尚硅谷版整理)