c比较字符串在使用C编程语言时,比较是相当常见的。有一些代码用于比较给定整数是否小于、大于或等于其他整数或输入。还有一些比较可以作为一种安全方法。例如,当用户输入密码时,会进行比较,以确保用户名和密码组合是有效的,以便只有具有适当凭据的用户才能访问信息。您可能会问:“计算机代码如何通过简单地比较单词来提供安全性?”这个问题有一个简单的答案。如果你只需要比较两个单词,你可以使用C语言的“strcmp”函数。

你是C编程语言的初学者吗?了解今天在C中编写自己的代码!

到目前为止,最常见的字符串比较函数是Strcmp。这是因为它的简单格式。以下是C代码的片段,显示此功能的基本格式:

Strcmp(const char * s1,const char * s2)

StrcMP函数将S1的字符串与S2的字符串进行比较,并返回值。如果两个字符串具有相等的值,则该功能返回0,则如果S1具有比S2更大的值,则返回正数,并且如果S1具有比S2更小的值,则返回负数。在使用strcmp函数的同时,您必须小心您首先输入的字符串。如果您不小心,您将返回一个可能导致代码造成严重破坏的意外值。

学习用C编程所需的基础知识和更多!

你想要比较单词,所以你可能会有点困惑为什么我们要使用一个比较字符串的函数。在使用C时,您应该知道字符串是一个以null字符()结尾的字符数组。根据这个定义,我们常用的单词也是字符串。让我们看看下面的代码片段,它将更好地解释strcmp:

char str1 [] =“老虎”;char str2 [] =“老虎”;a = strcmp(str1,str2);

在这个例子中,你认为价值是什么“一种”将?如果你猜到了a = 0那么你就是正确的。两个字符串都设置为相等的“老虎”,所以它们是相等的。现在我们将看一下使用此功能的更现实的情况:

/*示例C程序演示strcmp函数的使用*/ #include #include void main() {char str1[] = " Alphabetize ";char str2[] = "字母";int;A = strcmp(str2, str1);if(a == 0) {printf(" The strings are equal ");} else {printf("字符串不相等");}返回0;}

Udemy是使用c学习编程的地方!

在分析代码将执行的内容之前,请查看标题文件。标题一起包含。这是因为strcmp函数在标题中定义。如果该标题不包含在代码中,则StrcMP以及许多其他功能的功能将无法正常工作,并且在编译时会导致错误。

上面的代码比较了两个字符串str1和str2。编译此代码时,屏幕上将显示什么?当比较完成后,我们应该期望if-else函数将“the strings are not equal”打印到屏幕上,因为“Alphabetize”和“alphabebets”并不完全相同。

在代码中,你可以看到一种”被宣称为整数。这是因为将两个字符串进行比较时,该函数返回数值。您可能会想知道为什么返回数值,值“一种”将。该值将等于不匹配的前两个字符的ASCII差异。在上面示例的代码中,字符“一世”和 ”s”是不匹配的前两个字符。的ASCII值是105,s的值是115。这给了你一个10的差值,这意味着字符串str2的值比str1的值大。

了解如何使用C查找数据类型的大小。

当您阅读关于strcmp函数的描述时,您可能会问自己strcmp可以执行哪些有用的任务。正如本文介绍中所提到的,strcmp对于比较密码很有用。strcmp函数比较两个字符串,如果两个字符串完全相等,则返回值为0。这是有帮助的,因为如果输入的密码不匹配的密码在数据库中使用的代码,然后进入该网站将被拒绝。下面的代码展示了如何使用strcmp进行密码验证。

/*示例C程序演示strcmp函数的使用*/ #include #include void main() {char userpassword[] = cisgreat;char userpasswordEntered [];int;printf(" Please enter your password: ");scanf (userpasswordEntered);a = strcmp(userpassword, userpasswordenter);if (a == 0) {printf("密码已验证");} else {printf(“密码无效”);}返回0;}

上面的代码已为用户的密码分配为“cisgreat”,并在允许访问敏感材料之前,使用SCANF功能从用户获取密码。如果输入除“Cisgreat”以外的字符组合为密码时,如果IF - else函数打印到屏幕上的“密码无效”。即使输入了字符串“cisgreat”,if语句也会失败。这是由于虽然使用了相同的字母,但是字符串“cisgreat”并不被视为由编译器等于“Cisgreat”。这是因为每个字符的ASCII代码与另一个字符串中同一位置中的字符的ASCII代码进行比较。字符“C”和“C”分别具有67和99的ASCII代码,其不等于。

StrcMP是C语言最常用的比较功能之一。它可用于测试两个简单的单词或字符串的平等,如“猫”和“狗”。它也可以以更严重的方式使用,作为密码加密过程的一部分。

c#顶级课程

C#接受答案的问题
Shivprasad柯伊拉腊
4.9 (15)
新的
RPG库存系统:中级c#游戏编码课程
Sam Pattuzzi,Gamev.TV团队,Rick Davidson
4.4 (429)
完成C#Unity Game Developer 3D
Ben Tristem,Rick Davidson,Gamev.TV团队
4.7 (27672)
畅销书
使用C#和.NET学习并行编程
Dmitri nesteruk.
4.7 (2,122)
畅销书
c#和Windows窗体初学者练习(循序渐进)
帕尔瓦尔萨米
4.6 (298)
c# 7、c# 8和c# 9有什么新功能
Dmitri nesteruk.
4.5 (597)
c#中级:类,接口和面向对象
Mosh Hamedani.
4.6 (23805)
畅销书
RPG核心战斗创造者:学习中级Unity c#编码
Ben Tristem,Rick Davidson,Sam Pattuzzi,Gamev.TV团队
4.8 (8,679)
收视率最高
C#高级主题:准备技术访谈
Mosh Hamedani.
4.5 (15,532)
完整的c#大师级
Denis Panjuta,Tutorials.eu by Denis Panjuta
4.5 (13020)

更多C#课程

c#的学生也会学习

赋予你的团队。引领行业。

使用Udemy for Business订阅在线课程库和数字学习工具。

请求演示