char を 1 つずつ比較しようとしています。クラスからの割り当てから strcmp 関数をエミュレートしています。これが私が思いついたものです。残念ながら、すべての文字が最後の文字に到達するまで一致するため、常に 0 になります。最初の文字と停止のみをチェックしていると思います。次の文字に i++ を追加しましたが、うまくいかないと思います。
strComp("abc", "abcd");
int strComp(char a[], char b[]) {
int i = 0;
if (strLen(a) == strLen(b)) {
while (a[i] != NULL && b[i] != NULL) {
if (a[i] == b[i]) {
return 0;
} else if(a[i] > b[i]) {
return 1;
} else {
return -1;
}
}
i++;
} else if (strLen(a) > strLen(b)) {
return 1;
} else {
return -1;
}
}