int eq(char s1[], char s2[]) { int i = 0; while (s1[i] == s2[i] && s1[i] != '\0') { i++; } if (s1[i] == s2[i]) { return 1; } else { return 0; } }
先頭から順番に、文字が同じで、かつ、その文字がナル文字でない間、一文字つずつ調べていきます。
while文が終了するのは、文字が異なるか、または、ナル文字のときなので、文字が同じならば(その文字はナル文字で)文字列として同じであり、そうでないならば異なる文字列となります。