C语言字符串的比较
C语言 字符串 比较
2023-09-14 09:14:25 时间
字符串的比较
相关文章路径:C语言求字符串的长度->C语言字符串的复制->
C语言的字符串的联接->C语言字符串的比较->C语言查找字符->C语言BF算法->C语言输出字符串->C语言输入字符串
C 语言标准函数库中包括 strcmp 函数,用于字符串的比较。作为练习,我们自己编写一个功能与之相同的函数。
函数原型
int StrCmp(const char *str1, const char *str2);
说明:str1 和 str2 分别为两个字符串的起始地址。按字典排序法,若 str1 串值大于 str2,则函数值为正整数;若 str1 串值小于 str2,则函数值为负整数;若 str1 串值与 str2 相等,则函数值为零。
裁判程序
#include <stdio.h>
int StrCmp(const char *str1, const char *str2);
int main()
{
char a[1024], b[1024];
int r;
gets(a);
gets(b);
r = StrCmp(a, b);
if (r > 0)
{
puts("a > b");
}
else if (r < 0)
{
puts("a < b");
}
else // r == 0
{
puts("a == b");
}
return 0;
}
/* 你提交的代码将被嵌在这里 */
输入样例1
stock
stack
输出样例1
a > b
输入样例2
be
bed
输出样例2
a < b
输入样例3
heart
heart
输出样例3
a == b
提交代码:
int StrCmp(const char *str1, const char *str2)
{
int flag = 1;
int k;
while (*str1 == *str2 && flag == 1) // flag用于记录是否要退出循环 首先是比较两个字符串相同的部分
{
if(*str1 == '\0') // 当字符串遍历完了之后 flag=0然后跳出循环
{
k = 0;
flag = 0;
}
else
{
str1++;
str2++;
}
}
if(*str1 != *str2) // 最后比较不同的部分 部分部分的字符编码谁大一些
{
k = *str1 - *str2;
}
return k;
}
相关文章
- C语言中switch语句_switch在c语言中
- C语言:判断回文字符串的两种简单方法
- C语言回文字符串
- C语言 整数与字符串的相互转换
- C语言模拟银行家算法
- 模拟实现不受限制的字符串函数--C语言版
- C语言实现输出用户输入的字符串中最长的单词
- 【C语言】自定义类型详解:结构体、枚举、联合
- TIOBE 5月编程语言排行榜:Java和C语言正在被超越详解编程语言
- if else用法详解,C语言if else用法完全攻略
- 函数的返回值,C语言函数返回值详解
- C语言strchr()函数:字符查找函数
- 观视角:学习Linux C语言的重要性Linux C语言:掌握知识的重要性(linuxc宏)
- Linux下C语言字符串拼接实现方法(linuxc字符串拼接)
- C语言连接MySQL数据库实现快速网络查询(c链接mysql数据库)
- Linux编程中的C语言echo命令(linuxcecho)
- 处理C语言Linux下字符串处理技巧分享(clinux字符串)
- 学习Linux C语言,掌握编程基础(linuxc基础)
- C语言程序中使用MySQL事务处理技巧(c 中使用mysql事务)
- 深入研究C语言与MySQL交互(c mysql 转议)
- C语言-字符串函数的实现(一)之strlen
- 如何用C语言去除字符串两边的空字符
- C语言堆栈入门指南
- C语言安全编码之数组索引位的合法范围
- C语言实现图的遍历之深度优先搜索实例
- C语言实现输出链表中倒数第k个节点