Strcmp函数实验报告(大学生)

简介: Strcmp函数实验报告(大学生)

一、实验目的


根据s按照字典顺序小于、等于或大于t的结果分别返回负整数、0或正整数


二、实验内容


通过一系列的处理达成实验目的


三、实验环境


基于macOS Big Sur版本11.1的Xcode编译器

MacBook Pro (16-inch, 2019)

处理器2.6GHz六核Intel Core i7

内存16GB 2667MHz DDR4

图形卡Intel UHD Graphics 630 1536 MB


四、操作方法和实验步骤


[1]思考是否需要调用特殊函数库

[2]构建子函数

[3]构建主函数

[4]调试程序


五、程序具体实现

#include<stdio.h>
#include<string.h>    //包含strcmp函数的头文件
int main(void)
{
    //定义后使用
    char *a="app";
    char *b="APP";
    char *c="App";
    printf("%d\t%d\n",strcmp(a,b),strcmp(b,a));
    //注意strcmp函数返回int类型,不是字符串或者字符类型,转换字符使用%d
    //直接用字符串进行比较
    printf("%d\n",strcmp("app","App"));
    printf("%d\n",strcmp("App","app"));
    printf("%d\n",strcmp("app","app"));
    return 0;
}
//strcmp函数具体解释,因为前文使用了包含strcmp的函数库string.h,所以不需要重复定义,防止出现类型错误的提示
/*
int strcmp(char *s, char *t) {
for ( ; *s == *t; s++, t++)
if (*s == '\0')
return 0; return *s - *t;
}
*/


六、测试结果及讨论


image.png


strcmp(s1,s2)功能:比较字符串s1和s2,两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇’\0’为止。

当s1<s2时,返回为负数;当s1==s2时,返回值= 0;当s1>s2时,返回正数。

为什么有的strcmp函数返回的是1、0、-1,而有的返回的是ascii码之差呢?

回复:估计和具体的编译器有关毕竟c只是定义了一种基本的规则.


七、实验心得


strcmp是 string compare的缩写,即“字符串比较”。他的原型是:

#include<string.h>

int strcmp(const char *s1, const char *s2);

功能是比较 s1和s2所指向的字符数组中的字符串,返回一个int型值。s1和s2可以是字符数组名或者字符指针变量名。


相关文章
|
编解码 数据可视化 搜索推荐
figure方法详解之Figure的创建与配置
figure方法详解之Figure的创建与配置
285 0
|
Unix API 开发者
微信公众号:如何根据关键词取文章列表 API 返回值说明?
微信公众号根据关键词获取文章列表的API通常指的是微信公众平台的“素材管理”接口中的“获取素材列表”功能。通过这个接口,开发者可以获取公众号已上传的文章素材列表,包括图文消息、视频、音频等。以下是API返回值的一般说明
|
人工智能 前端开发
【AI的未来 - AI Agent系列】【MetaGPT】2. 实现自己的第一个Agent
【AI的未来 - AI Agent系列】【MetaGPT】2. 实现自己的第一个Agent
264 0
|
网络协议 Linux 网络安全
Linux(17)Centos5、6、7、8版本的防火墙常用命令
Linux(17)Centos5、6、7、8版本的防火墙常用命令
489 0
|
机器学习/深度学习 前端开发 数据挖掘
R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
|
网络安全 数据安全/隐私保护
从基础到高级,带你深入了解和使用curl命令(三)
使用curl命令轻松实现文件上传和下载。上传文件:`curl -F &quot;file=@/path/to/upload/file&quot; http://example.com/upload`;下载文件:`curl -O http://example.com/file-to-download.zip`。自定义文件名:`curl -o myFile.zip http://example.com/file-to-download.zip`。支持断点续传 `-C -` 和HTTPS下载。需认证时,使用`-u username:password`。curl,强大且灵活的文件传输工具。
|
SQL 消息中间件 Java
Flink报错问题之jdbc表报错如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
|
人工智能 算法
探索AIGC技术在小学教育中的创新应用
本文探讨了AIGC技术在小学教育中的创新应用,介绍了如何利用AI协助小学老师进行课程设计、备课、教学评估等工作。同时,也分析了AIGC技术在教学中的优势和不足,并探讨了未来AIGC技术在小学教育领域的发展趋势。
1141 52
|
SQL 消息中间件 存储
从理论到实践,实时湖仓功能架构设计与落地实战
实时湖仓是「实时计算」和「数据湖」的一种结合应用场景,并不是具体指一个产品模块。本文主要介绍了平台通过相关功能的设计,让数据开发可以更简单更直观地了解 Flink Catalog、数据湖、流批一体等概念,并在实际业务场景中更方便地去落地实践。
458 0
|
存储 安全 API
Unity 数据读取|(六)PlayerPrefs解析
Unity 数据读取|(六)PlayerPrefs解析

热门文章

最新文章