如何比較這兩個字符數組以確保它們是相同的?如何比較2個字符數組
char test[10] = "idrinkcoke"
char test2[10] = "idrinknote"
我想用for loop
,但我看別的地方,我不可能在C.
做test[i] == test2[i]
我真的很感激,如果有人可以幫助這一點。謝謝。
如何比較這兩個字符數組以確保它們是相同的?如何比較2個字符數組
char test[10] = "idrinkcoke"
char test2[10] = "idrinknote"
我想用for loop
,但我看別的地方,我不可能在C.
做test[i] == test2[i]
我真的很感激,如果有人可以幫助這一點。謝謝。
,但我看別的地方,我不可能做試驗[I] ==測試2 [i]於C.
那將是非常痛苦的,比較字符一個字符這樣。當你想在這裏比較兩個字符數組(字符串),你應該使用strcmp
代替:
if(strcmp(test, test2) == 0)
{
printf("equal");
}
編輯:
沒有必要當你初始化字符數組指定大小。這將是更好的:
char test[] = "idrinkcoke";
char test2[] = "idrinknote";
它還會更好,如果你使用strncmp
- 這是一般安全(如果一個字符數組恰好是不是空終止)。
if(strcmp(test, test2, sizeof(test)) == 0)
我明白了。我以前不知道這一點。謝謝。 – ThomasWest
可以使用C庫函數strcmp
像這樣:
if strcmp(test, test2) == 0
將C字符串str1與C字符串str2進行比較。
該函數開始比較每個字符串的第一個字符。如果 它們彼此相等,則繼續使用以下對 ,直到字符不同或者直到達到了終止空字符 。
該函數執行字符的二進制比較。對於考慮到區域特定規則的 函數,請參閱strcoll。
和返回值:
返回0,如果兩個字符串的內容相等
我非常想分享一些關於你的工作場所問題的個人經驗以及azubi方面的問題,但我不能在q/a上這樣做。如果你有興趣談話,請給我發電子郵件。 :) – simbabque
'STRCMP(A,B)== 0'是你在找什麼。 –
你可以做'test [i] == test2 [i]',因爲它們是字符比較。但爲了比較字符串,你需要使用函數'strcmp()' – Haris
所以在我的情況'strcmp(test [i],test2 [i])''? – ThomasWest