比较字符串的大小
来源:互联网 发布:南充市行知小学 编辑:程序博客网 时间:2024/05/19 07:45
原文转自:http://blog.csdn.net/sjmping/article/details/8059698
//功能:比较字符串的大小
//如果str1>str2返回1
//如果str1=str2返回0
//如果str1<str2返回-1
char strncmp(unsigned char *str1, unsigned char *str2, byte int num){ while(num != 0) { if((*str1) == (*str2)) { str1++; str2++; num--; } else if((*str1) > (*str2)) { return 1; } else if((*str1) < (*str2)) { return -1; } } return 0;}如果单纯比较长度,直接调用类似于strlen()之类的函数就可以,加以比较即可. 如果比较字符串的大小,则比较的是字符的ASCII编码的大小.搜索一下ASCII码表就可以得知每一个ASCII字符的大小. 在比较时,设置一个计数器,从零开始,一直循环到最短的那个字符结束,一位一位进行比较, 1.如果 字符串1的第n位的ASCII码值 等于 字符串2的第n位的ASCII码值 则 继续比较下一位 若if( zstrncmp(unsigned char *str1,unsigned char *str2,byte num)==0 ) //表示str1=str2 2.如果 字符串1的第n位的ASCII码值 大于 字符串2的第n位的ASCII码值 则 输出结果:1,表示字符串1 > 字符串2; 3.如果 字符串1的第n位的ASCII码值 小于 字符串2的第n位的ASCII码值 则 输出结果:-1 表示字符串1 < 字符串2; 4.如果 每一位的ASCII码值都相等,而且长度相同, 则 输出结果:0 表示字符串1 == 字符串2; 5.如果 字符串1是字符串2的前m位,例如 abcd 与abcdef 比较, 则 字符串1<字符串2. 原因是,到第5位时,字符串1的ASCII值是0,而字符串2的ASCII值为'e',即十进制的101, 当然是字符串2大了. 举例: 如 cds和lesoqd比较。 从第一位开始,'c'和'l'比较,当然是'c' < 'l'了,所以,"cds" < "lesoqd" ,return 1. 常用的几位ascii的顺序从小到大为: 0..9, A..Z, a..z.
0 0
- 比较字符串的大小
- 比较字符串的大小
- 比较字符串的大小
- 比较字符串的大小
- 字符串的大小比较
- 字符串的大小比较
- 比较两个字符串的大小
- 比较两个字符串的大小
- 比较两个字符串的大小
- 字符串大小比较的规则?
- 关于不等长字符串的大小比较
- java 中字符串的比较大小
- 课上作业 字符串的大小比较
- 字符串大小比较函数的实现
- 字符串之间的大小比较方法
- 指针做形参比较字符串的大小、
- 如何比较两个格式字符串的大小
- 比较2个字符串的大小strcmp
- Leetcode (9) Excel Sheet Column Number
- 联想电脑 E431 win8装win7攻略
- 故宫陶瓷馆
- python基础笔记
- 给你了解你所不了解的多摩君
- 比较字符串的大小
- 深入Java单例模式
- LeetCode OJ Duplicate Emails
- Struts学习笔记(五)自定义方法校验
- MvcSiteMap的使用
- VC++6.0添加add-in出现错误解决方案
- python基础笔记续
- Maximum Subarray 最大连续和
- Android ListView工作原理完全解析,带你从源码的角度彻底理解