c - 比较字符串的大小

  c的标准库中当然有现成的比较字符串的函数<string.h>中的 strcmp

1 int     __cdecl strcmp(_In_z_ const char * _Str1, _In_z_ const char * _Str2)

  最近复习考研,手写这些代码是其中的一部分内容,但是我资料上的代码,感觉算法不是很好,网上见很多人写的,也是,有的还是错的.我测试了一下,算是可行的.

 1 //比较字符串,s1>s2则返回整数;s1=s2则返回0;s1<s2则返回负数.
 2 int
 3 comparison(char *s1,char *s2){
 4     while(*s1 && *s1) {    //这里判断的应该为内容.
 5         if(*s1 != *s2)
 6             return *s1 - *s2;
 7         s1++;
 8         s2++;
 9     }
10     return *s1 - *s2;
11 }
时间: 2024-12-09 20:13:05

c - 比较字符串的大小的相关文章

JavaScript-数字和字符串比较大小

JavaScript经常会比较字符串的大小,有的时候容易混淆,因此简单的梳理一下JavaScript字符串的比较: //1.数字比较 console.log('数字比较:' + (12 < 3)); //false //2.字符串数字和数字比较 统一转换成数字进行比较 console.log('字符串数字和数字比较:' + (11 < '5')); //false //3.字符串和数字进行比较 字符串为非纯数字时,则将非数字字符串转成数字的时候会转换为NaN,当NaN和数字比较时不论大小都返回

小议 js 下字符串比较大小

之前群里有人问如何比较两个时间大小,他的时间格式是 2014-08-08 而不是 2014-8-8.所以我给的方法是 直接比较,如: var a = "2014-08-08"; var b = "2014-09-09"; console.log(a>b, a<b); // false true 很方便不是么,但是原理是什么呢? 打开 ECMA 第 11.8.5 节 The Abstract Relational Comparison Algorithm在

Label控件如何根据字符串自定义大小

一.. this.label_Msg.AutoSize = false;  //设置label空件不能自动大小 二.. 用代码控制label控件的大小 1.根据字符串.label的宽度 计算字符串的面积,函数如下: /// <summary> /// 计算字符串的面积 /// </summary> /// <param name="msg">字符串</param> /// <param name="labelWidth&q

两个字符串比较大小

两个字符串比较大小:    一.可以用compareTo()方法,另外还有compareToIgnoreCase(String) 忽略大小写及 compareTo(object string)这些 方法返回值是int, 以compareTo()方法为例:     1 .如果字符串相等返回值为0,不等返回其他数值. 比较方法是先比较对应字符的大小(Ascall吗顺序),从第一个字母开始比较.     2.如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)    

如何比较两个时间字符串的大小

方式一.后台 现在有两个字符串,是从表单读取来的日期性,“2003-10-12”与“2003-10-21”,现在如何判断他们的大小. 如果不想再转为date类型比较 有一种简单的方法 String a="2003-10-12";String b="2003-10-21";int result=a.compareTo(b);if (result==0)out.print("a=b");else if (result < 0 )out.prin

JavaScript 数字与字符串 比较大小

总结一下JS中经常遇到纯数字和各种各样的字符串进行比较: 纯数字之间的比较 alert(1<3);//true 数字字符串比较,会将其先转成数字 alert("1"<"3");//true alert("123"<"123");//false 纯字符串比较,先转成ascii码 alert("a"<"b");//true alert("abc"&

oracle中字符串的大小比较,字符串与数字的比较和运算

Oracle比较字符串是根据ASCII码来的,第一个字母的ASCII大小比较如果相等再比较下一个,类推.字符串和数字进行操作是会报异常的,因为类型不一样不能进行比较. Oracle在执行SQL的时候有些时候会自动转换,比如:select * from chan_customer cc where cc.customer_id = '1';即使customer_id是数字型的也可以查出来,但是Oracle有区分字符和数字就是通过加不加单引号来区分. 为了验证oracle里字符串比较是按ascii码

179. Largest Number -- 数字字符串比较大小

Given a list of non negative integers, arrange them such that they form the largest number. For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330. Note: The result may be very large, so you need to return a string instead of an i

compare:(字符串的大小比较)

1.字符串的比较是按照ascall码进行比较的 比如A比a的值小, if([string1 compare:string2] == (以下描述)) 如果比较的结果是NSOrderedDescending,说明string1比string2要大 如果比较的结果是NSOrderedAscending,说明string1比string2要小 如果比较的结果是NSOrderedSame,说明string1和string2相等