字元組比較,字串比較是什麼呢?

2024-12-29 21:00:20 字數 1086 閱讀 3326

1樓:網友

此時while(strcmp("password2","password1")=1); 時~~無論是password2=1或不=1的時候,都會重複執行該語句" 這顯然正確 因為strcmp("password2","password1")的值就是1

首先你這個語句是比較"password2"和"password1"這兩個字串,也就是說password2和password1是字串的內容。

其次你對strcmp這個函式的返回值所代表的意思不瞭解。如果返回值》0(返回值為1)說明password2比password1大 返回值=0代表字串相等 返回值<0(返回值為-1)則代表password2比password1小。

所以是你對strcmp的用法錯誤。

改成while(strcmp(password2,password1)==0);就行。

字串比較是什麼呢?

2樓:社無小事

字串比較是指按照字典次序對單個字元或字串進行比較大小的操作,一般都是以ascii碼值的大小作為字元比較的標準。

在比較時,設定乙個計數器。

從零開始,一直迴圈到最短的那個字元結束,一位一位進行比較。

1.如果字串1的第n位的ascii碼值等於字串2的第n位的ascii碼值,則繼續比較下一位。

2.如果字串1的第n位的ascii碼值大於字串2的第n位的ascii碼值,則輸出結果:1,表示字串1>字串2。

3.如果字串1的第n位的ascii碼值小於字串2的第n位的ascii碼值,則輸出結果:-1,表示字串1《字串2。

4.如果每一位的ascii碼值都相等,而且長度相同,則輸出結果:0,表示字串1==字串2。

注意

1) 在比較兩個字串時不能利用符號「==」,「==」符號比較的是兩個字串的位址是否相等。

2) 若是比較兩個字元,則可以用」==」直接進行比較。

3) 但在比較兩個string物件時是可以利用「==」的,相等的話,則表示式。

的返回值為1,不等為0。

C 求解字串陣列和字串變數什麼區別,舉個例子區分下

字串陣列是這樣定義的 char stringarray 3 而字串變數是這樣定義的 char s 10 它們的區別就是字串陣列可以儲存的是多個字串,典型的例子就是main函式的第二個引數,main函式的第二個引數就是一個字串陣列,它用來讓系統傳遞命令列引數,命令列程式的每一個引數之間都是用空格分割的...

C 求解字串陣列和字串變數什麼區別,舉個例子區分下

using namespace std int main char pc 12345678 cout c endl cout pc endl return 0 區別只是宣告的形式不同。用起來都一樣。c 中。字串和陣列有什麼區別呢?char 在系統上 用一個位元組表示 int在系統上有的是 4個位元組...

C中什麼是字串,什麼是字元字面值

字串或串 string 是由數字 字母 下劃線組成的一串字元。一般記為 s a1a2 an n 0 它是程式語言中表示文字的資料型別。在程式設計中,字串 string 為符號或數值的一個連續序列,如符號串 一串字元 或二進位制數字串 一串二進位制數字 通常以串的整體作為操作物件,如 在串中查詢某個子...