strcmp和memcmp兩個字串比較函式

2021-08-08 22:52:46 字數 1047 閱讀 2060

在c語言中經常遇到比較兩個字串大小的問題,這裡我列出兩個常用的比較函式以及它們的具體用法和兩者之間的區別。

strcmp函式:

函式原型:int strcmp(const char * s2,const char * s2);

功能:比較字串s1和字串s2的大小。

返回值:

s1大於s2,返回值大於零

s1等於s2,返回值等於零

s1小於s2,返回值小於零

特點:兩個字串之間是逐個按照它們的asiic大小來比較的,一旦發現其中乙個大於或小於另乙個時,比較結束,返回乙個值,不然就一直比較到』\0』為止。

例項:

#include 

#include

#include

int main()

else

if (0 == i)//變數比較時把變數放右邊,這樣可以防止出錯

else

system("pause");

return

0;}

memcmp函式:

函式原型:

int memcmp(const void *buf1, const void *buf2, unsigned int count);

功能:比較記憶體區域buf1和buf2的前count個位元組。

返回值:

s1大於s2,返回值大於零

s1等於s2,返回值等於零

s1小於s2,返回值小於零

特點:memcmp函式也是按asicc碼逐個比較,在strcmp的基礎上多加了個功能,他能比較字串中前count位元組的大小。如果count == strlen(s1),那就是比較字串中全部字元。

例項:

#include 

#include

#include

int main()

else

if (0 == i)

else

system("pause");

return

0;}

兩個佇列實現棧和兩個棧實現佇列

棧 先進後出 佇列 先進先出 1 兩個佇列實現棧 佇列a 佇列b 入棧 入佇列a,1,2,3,4 入棧,在佇列a裡為 a 1,2,3,4 出棧,將佇列a中的元素入佇列b直到佇列a裡的元素只剩下乙個,則隊a為4,隊b為1,2,3,a 4,b 1,2,3,輸出a隊頭4 include include u...

兩個棧實現佇列和兩個佇列實現棧

兩個佇列新增元素,哪個隊列為空,由於在輸出元素時,要進行相應元素的移動 除去尾部元素 所以要在對應不為空的佇列進行元素的新增 在輸出資料時,要進行兩個佇列的變相操作,不為空的佇列要依次向為空的佇列中新增元素,直到尾元素輸出即可!兩個佇列實現乙個棧 public class twoqueueimpls...

兩個佇列實現棧和兩個棧實現佇列

棧 先進後出 佇列 先進先出 1 兩個佇列實現棧 佇列a佇列b 入棧 入佇列a,1,2,3,4 入棧,在佇列a裡為 a 1,2,3,4 出棧,將佇列a中的元素入佇列b直到佇列a裡的元素只剩下乙個,則隊a為4,隊b為1,2,3,a 4,b 1,2,3,輸出a隊頭4 include include us...