簡體   English   中英

C ++比較2個字符串

[英]C++ comparing 2 strings

我有以下代碼:

int compare(string a,string b)
{
    int length=a.length();
    for(int i=0; i < length; i++)
    {
        if(a[i]<b[i])
            return 1;
        if(a[i]>b[i])
            return 0;
    }
    ....
}

在字符串a的長度大於字符串b的長度並且字符串a以字符串b開頭的情況下,我很有趣。
例:
字符串a =“ abcdefghi”
字符串b =“ abcde”
該函數將返回0。我想知道此函數是否有返回1的機會; 在這種情況下。

共有兩種情況:

  1. 如果我們的長度b > 0 ,則必須確保a[i] ASCI I值必須小於b[i] ASCII值。

     string a="abcdefghi" string b="abcde" 
  2. 在您的示例中,當我們到達索引5 ,結果將是不確定的,這意味着b[5]可能包含其ASCII值大於a[i ]的垃圾值。 否則結果可能相反。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM