strcmp()函数详解
在学习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()函数详解相关推荐
- strcmp函数详解
strcmp函数使用说明 strcmp函数是专门用来字符串之间的的比较的 这个比较是比较两个字符串是否相同,如果不相同那就比较两个字符串的长度大小. 从图中可以看出strcmp函数的参数是两个字符串, ...
- gzdeflate函数_PHP中的gzcompress、gzdeflate、gzencode函数详解
这篇文章主要介绍了PHP中的gzcompress.gzdeflate.gzencode函数详解,本文深入分析了它们的相同点和不同点,需要的朋友可以参考下 PHP中存在一组看起来很像的压缩解压函数: 压 ...
- 冒泡排序和qsort函数详解以及如何模拟实现qsort函数
一.冒泡排序 冒泡排序是一种常见的排序方式,它可以把数组元素有序或无序的数组进行重新排序,并使得数组中的元素从大到小或从小到大进行排序(就像泡泡一样). 冒泡排序原理: 每次比较数组中的相邻的两个元素 ...
- 字符函数和字符串函数详解(二)strncpy strncat strncmp strstr strtok(及其模拟实现)
系列文章目录 字符函数和字符串函数详解(一)strlen strcpy strcat strcmp 字符函数和字符串函数详解(二)strncpy strncat strncmp strstr str ...
- qsort函数详解以及模拟实现
qsort函数详解以及模拟实现 一.qsort函数是什么 二.具体的使用 1.参数4(参数3在模拟实现时解释) 2.例子 1.排序整形 2.排序结构体 三.模拟实现qsort 1.参数3 2.模拟排序 ...
- 【C库函数】qsort函数详解
目录 qsort 函数基本原型 参数解读 函数详解 比较函数实现并解读 qsort函数排序代码实现并展示结果 1.排序整型数组 2.排序结构体 qsort 函数是基于快速排序算法实现的一个排序函数 ...
- C语言网络编程:accept函数详解
文章目录 前言 函数描述 代码实例 如何得到客户端的IP 和 端口号 前言 当使用tcp服务器使用socket创建通信文件描述符,bind绑定了文件描述符,服务器ip和端口号,listen将服务器端的 ...
- 【FFmpeg】函数详解(三)
FFmpeg函数详解 14.av_write_frame 15.av_interleaved_write_frame 16.av_write_trailer 17.avio_close 18.av_i ...
- 【FFmpeg】函数详解(二)
FFmpeg函数详解 9.av_dump_format 10.avio_open 11.avformat_write_header 12.avcodec_send_frame 13.avcodec_r ...
最新文章
- 聊一聊 Redis 数据内部存储使用到的数据结构
- axios get 跨域_axios网络交互应用-Vue
- PhotoshopCS5中将单位修改成百分比
- LLVM各种格式转换图
- NOIP2017 普及组题解
- 关于瑞萨RH850中断的异常处理函数地址Exception Handler Address的理解
- Anaconda卸载与安装
- python画正多边形_少儿python编程之画正多边形代码优化教程
- 现金流量表补充资料的编制公式
- Flutter中使用shared_preferences本地存储
- autocad application 版本
- c#窗体编辑个人简历_3年工作经验.net程序员简历应该怎么写
- 树莓派(Raspberry) WIFI 配置 (无显示器)
- 那些可以加速国内外开源库的免费CDN
- 荐读:Xilinx ZYNQ 动手实操演练
- 广州移动华为认证培训之行
- 详解图像二值化 函数threshold
- 用myeclipse打包项目时,Security alert:integrity check error。
- 程序员专属段子集锦 8/10
- 阿里云在线磁盘扩容(最好看阿里云文档)