strcmp()函式的原理是比較兩個字元串的每個字元的ASCII值。
strcmp()函式的基本規則是按照字典順序逐個字元進行比較。它接受兩個字元串作為參數,並逐個比較這兩個字元串的字元,直到出現不同的字元或遇到字元串的結束字元('\0')。如果兩個字元串在某個位置之前的字元都相同,但字元串長度不同,那麼較長的字元串會被認為更大。如果兩個字元串相等,則比較結果為0;如果第一個字元串在字典序上小於第二個字元串,則結果為負數;如果第一個字元串在字典序上大於第二個字元串,則結果為正數。
在比較過程中,如果兩個字元不相等,strcmp()會返回它們的ASCII碼值的差(即較大的ASCII值對應的字元串被認為是較大的)。如果兩個字元相等,strcmp()會繼續比較下一個字元。這種比較會一直持續到遇到不同的字元或字元串結束符為止。
例如,對於字元串"abc"和"abcd",strcmp()會比較'a'和'a',然後'b'和'b',直到'c'和'd'處發現不同的字元,此時會返回'd'(ASCII值為100)和'c'(ASCII值為99)之間的差值,即正數,表明"abcd"大於"abc"。