字符串怎么比較大小?
字符串怎么比較大小?
java中兩個字符串如何比較大小 有三種方法實現(xiàn) **種直接用字符串類的pareTo方法: String t1=\”20131011\”; String t2=\”20131030\”; int result = t1pareTo(t2);第二種是把這個日期字符串轉(zhuǎn)換成long: SimpleDateFormat sdf = new SimpleDateFormat(\”yyyyMMdd\”); Date d1 = sdf.parse(t1); Date d2 = sdf.parse(t2); long result = d1.getTime()-d2.getTime();第三種是把日期字符串轉(zhuǎn)換成整形int:int int1 = Integer.parseInt(t1); int int2 = Integer.parseInt(t2); int result = int1-int2;注:result大于0,則t1>t2; result等于0,則t1=t2; result小于0,則t1 字符串大小比較的規(guī)則? 比較的時候,從字符串左邊開始,一次比較每個字符,直接出現(xiàn)差異、或者其中一個串結(jié)束為止。 比如ABC與ACDE比較,**個字符相同,繼續(xù)比較第二個字符,由于第二個字符是后面一個串大,所以不再繼續(xù)比較,結(jié)果就是后面?zhèn)€串大。
再如ABC與ABC123比較,比較三個字符后**個串結(jié)束,所以就是后面一個串大。
所以,長度不能直接決定大小,字符串的大小是由左邊開始最前面的字符決定的。 java怎么比較字符串大??? 比較兩個字符串的的大小 str1和str2分別是兩個字符串str1==str2或者是 str1.equals(str2)如果要是兩個字符串忽略大小寫的話用 str1.equalsIgnoreCase(str2)也可以是 str1pareTo(str2) 第二個用加號連接起來就可以了 C語言中字符串的大小指的是什么 以字符是ASCII值確定,憨較規(guī)則是,從**個字符開始,順次向后直到出現(xiàn)不同的字符為止,然后以**個不同的字符的ASCII值確定,例如上面的”abc”和\”aabdfg\”,由于**個字符相同,都是\’a\’所以看下一個字符,第二個字符,一個是\’b\’,一個是‘a(chǎn)\’,由于b的ASCII值比a的ASCII值大,所以,這二個字符串的比較結(jié)果是\”abc\”>\”aabdfg\” c語言中比較字符串的strcmp函數(shù)是怎么比較大小的? strcmp(s1,s2) 對兩個字符串進(jìn)行比較,逐一比較字符的ascii碼,a為97,A為65 所以a>A;分出大小后面不再比較; 如果s1>s2,返回1; 如果s1=s2,返回0; 如果s1 在C語言中字符串的大小怎么比較?。?strcmp 原型:extern int strcmp(char *s1,char * s2); 用法:#include 功能:比較字符串s1和s2。 說明: 當(dāng)s1 當(dāng)s1=s2時,返回值=0 當(dāng)s1>s2時,返回值>0 即:兩個字符串自左向右逐個字符相比(按ASCII值大小相比較),直到出現(xiàn)不同的字符或遇 \’\\0\’為止。如: \”abcdefg\”和\”12\”,首先比較\’a\’和\’1\’,\’a\’的ASC碼是97,\’1\’的ASC碼是49,所以\”abcdefg\”> \”12\”,返回值是97-49=48 \”abc\”和\”ABC\”,首先比較\’a\’和\’A\’,\’a\’的ASC碼是97,\’A\’的ASC碼是65,所以\”abc\”> \”ABC\”,返回值是97-65=32 \”1000\”和\”2\”,首先比較\’1\’和\’2\’,\’1\’的ASC碼是49,\’2\’的ASC碼是50,所以\”1000\”< \”2\”,返回值是49-50=-1 字符串大小比較 如果單純比較長度,直接調(diào)用類似于strlen()之類的函數(shù)就可以,加以比較即可. 如果比較字符串的大小,則比較的是字符的ASCII編碼的大小.你搜索一下ASCII碼表就可以得知每一個ASCII字符的大小. 參考wpyz/noip/11-1.asp 在比較時,設(shè)置一個計數(shù)器,從零開始,一直循環(huán)到最短的那個字符結(jié)束,一位一位進(jìn)行比較, 1.如果 字符串1的第n位的ASCII碼值 等于 字符串2的第n位的ASCII碼值 則 繼續(xù)比較下一位 2.如果 字符串1的第n位的ASCII碼值 大于 字符串2的第n位的ASCII碼值 則 輸出結(jié)果:1,表示字符串1 > 字符串2; 3.如果 字符串1的第n位的ASCII碼值 小于 字符串2的第n位的ASCII碼值 則 輸出結(jié)果:-1 表示字符串1 < 字符串2; 4.如果 每一位的ASCII碼值都相等,而且長度相同, 則 輸出結(jié)果:0 表示字符串1 == 字符串2; 5.如果 字符串1是字符串2的前m位,例如 abcd 與abcdef 比較, 則 字符串1 原因是,到第5位時,字符串1的ASCII值是0,而字符串2的ASCII值為\’e\’,即十進(jìn)制的101,當(dāng)然是字符串2大了. 具體到 cds和lesoqd 從**位開始,\’c\’和\’l\’比較,當(dāng)然是\’c\’ < \’l\’了,所以,\”cds\” < \”lesoqd\” 常用的幾位ascii的順序從小到大為: 0..9, A..Z, a..z. 誰編個比較2個字符串大小的程序 我這個簡單 #include bi(char a[],char b[]) { int x,y; x=0; y=0; while(a[x]==b[x]&&a[x]!=\’\\0\’) x++; if(a[x]==\’\\0\’&&b[x==\’\\0\’]) y=0; else y=a[x]-b[x]; if(y==0) printf(\”\\ns1=s2\\n\”); else if(y>0) printf(\”\\ns1>s2\\n\”); else printf(\”\\ns1 } void main() { char s1[100],s2[100]; gets(s1); gets(s2); bi(s1,s2); } C++字符串比較大小 字符串的比較是逐個相應(yīng)字符進(jìn)行比較(比較他們的ASCII碼),直到有兩個字符不相等為止,ASCII碼大的字母所在字符串就大,與字符串長度無關(guān)。
如何比較字符串大小
如果單純比較長度,直接調(diào)用類似于strlen()之類的函數(shù)就可以,加以比較即可. 如果比較字符串的大小,則比較的是字符的ASCII編碼的大小.你搜索一下ASCII碼表就可以得知每一個ASCII字符的大小. 參考http://www.wpyz.net/noip/11-1.asp 在比較時,設(shè)置一個計數(shù)器,從零開始,一直循環(huán)到最短的那個字符結(jié)束,一位一位進(jìn)行比較, 1.如果 字符串1的第n位的ASCII碼值 等于 字符串2的第n位的ASCII碼值 則 繼續(xù)比較下一位 2.如果 字符串1的第n位的ASCII碼值 大于 字符串2的第n位的ASCII碼值 則 輸出結(jié)果:1,表示字符串1 > 字符串2; 3.如果 字符串1的第n位的ASCII碼值 小于 字符串2的第n位的ASCII碼值 則 輸出結(jié)果:-1 表示字符串1 < 字符串2; 4.如果 每一位的ASCII碼值都相等,而且長度相同, 則 輸出結(jié)果:0 表示字符串1 == 字符串2; 5.如果 字符串1是字符串2的前m位,例如 abcd 與abcdef 比較, 則 字符串1<字符串2. 原因是,到第5位時,字符串1的ASCII值是0,而字符串2的ASCII值為\’e\’,即十進(jìn)制的101,當(dāng)然是字符串2大了. 具體到 cds和lesoqd 從**位開始,\’c\’和\’l\’比較,當(dāng)然是\’c\’ < \’l\’了,所以,\”cds\” < \”lesoqd\” 常用的幾位ascii的順序從小到大為: 0..9, A..Z, a..z百科.
字符串和數(shù)值怎么比大小
把數(shù)值看成一個字符串,再與其他字符串比較大小。如果有必要(比如編程),則需要先把數(shù)值轉(zhuǎn)化為字符串。
接下來就簡單了,對于兩個字符串,從左往右逐個比較字符的ASC碼的大小,如果相同,就比較下一個字符,直到出現(xiàn)不同的字符為止,出現(xiàn)ASC碼大的字符串為大字符串,反之為小字符串;或者一個字符串的字符已經(jīng)全部比較完,而另一個還有字符,則先比較完的字符串是小字符串。
這個過程一般編程語言都有這個功能,可自動完成。還有什么問題請留言。
字符串怎樣比較大小啊
這個字符串長度為10個字符。
可以用strlen(\”ab\’1\’\\\\\\12803\”)來求這個字符串的長度。
也可以用sizeof(\”ab\’1\’\\\\\\12803\”)來求,但是這個求出的結(jié)果是多了一個字符串結(jié)束符\\0。
可以試著輸出這個字符串看看是不是10個字符。
strlen()函數(shù)判斷的字符串長度是以\\0為結(jié)尾作為標(biāo)志的。
當(dāng)char * m=new char[TOKEN_LENGTH]后,雖然為指針分配了地址,但是其指向的內(nèi)容未被初始化,所以m指向的內(nèi)容是未知的,可能在第24個字符的位置發(fā)現(xiàn)了\\0所以strlen()顯示長度為24。
數(shù)據(jù)類型
字符串?dāng)?shù)據(jù)類型是建模在形式字符串的想法上的數(shù)據(jù)類型。
字符串是幾乎在所有編程語言中可以實現(xiàn)的非常重要和有用的數(shù)據(jù)類型。在某些語言中它們可作為基本類型獲得,在另一些語言中做為復(fù)合類型獲得。多數(shù)高級語言的語法允許通常用某種方式引用起來的字符串來表示字符串?dāng)?shù)據(jù)類型的實例;這種元字符串叫做“文本”或“字符串文本”。