strcmp函式和strcpy函式

2021-09-06 18:39:22 字數 995 閱讀 7002

(一)strcmp函式  

strcmp函式是比較兩個字串的大小,返回比較的結果。一般形式是:  

i=strcmp(字串,字串);

當中,字串1、字串2均可為字串常量或變數;i   是用於存放比較結果的整型變數。比較結果是這樣規定的:  

①字串1小於字串2,strcmp函式返回乙個負值;

②字串1等於字串2,strcmp函式返回零;

③字串1大於字串2,strcmp函式返回乙個正值;那麼,字元中的大小是怎樣比較的呢?來看乙個樣例。

實際上,字串的比較是比較字串中各對字元的ascii碼。首先比較兩個串的第乙個字元,若不相等,則停止比較並得出大於或小於的結果;假設相等就接著 比較第二個字元然後第三個字元等等。假設兩上字串前面的字元一直相等,像"disk"和"disks"   那樣,   前四個字元都一樣,   然後比較第 五個字元,   前乙個字串"disk"僅僅剩下結束符'/0',後乙個字串"disks"剩下's','/0'的ascii碼小於's'的ascii 碼,所以得出了結果。因此不管兩個字串是什麼樣,strcmp函式最多比較到當中乙個字串遇到結束符'/0'為止,就能得出結果。

注意:字串是陣列型別而非簡單型別,不能用關係運算進行大小比較。  

if("abc">"def")   /*錯誤的字串比較*/

if(strcmp("abc","def")   /*正確的字串比較*/

(二)strcpy函式  

strcpy函式用於實現兩個字串的拷貝。一般形式是:  

strcpy(字元中1,字串2)

當中,字串1必須是字串變數,而不能是字串常量。strcpy函式把字串2的內容全然拷貝到字串1中,而無論字串1中原先存放的是什麼。複製後,字串2保持不變。  

例:    

注意,因為字串是陣列型別,所以兩個字串複製不通過賦值運算進行。  

t=s;   /*錯誤的字串複製*/

strcpy(t,s);   /*正確的字串複製*/

strcmp函式和strcpy函式

一 strcmp函式 strcmp函式是比較兩個字串的大小,返回比較的結果。一般形式是 i strcmp 字串1,字串2 其中,字串 字串 均可為字串常量或變數 i 是用於存放比較結果的整型變數。比較結果是這樣規定的 字串1小於字串2,strcmp函式返回乙個負值 字串1等於字串2,strcmp函式...

strcmp函式和strcpy函式

一 strcmp函式 strcmp函式是比較兩個字串的大小,返回比較的結果。一般形式是 i strcmp 字串,字串 當中,字串 字串 均可為字串常量或變數 i 是用於存放比較結果的整型變數。比較結果是這樣規定的 字串1小於字串2,strcmp函式返回乙個負值 字串1等於字串2,strcmp函式返回...

strcmp函式和strcpy函式

一 strcmp函式 strcmp函式是比較兩個字串的大小,返回比較的結果。一般形式是 i strcmp 字串,字串 當中,字串 字串 均可為字串常量或變數 i 是用於存放比較結果的整型變數。比較結果是這樣規定的 字串1小於字串2,strcmp函式返回乙個負值 字串1等於字串2,strcmp函式返回...