Я пытаюсь выполнить упражнение 5-4 в книге K & R C. Я написал методы для strncpy и strncat, но у меня возникли некоторые затруднения с пониманием того, что именно нужно вернуть для части упражнения strncmp.
Определение strncmp (из Приложения B в книге K & R):
сравнить не более n символов строки s со строкой t; вернуть <0, если s <t, 0, если s == t, или> 0, если s> t
Допустим, у меня есть 3 строки:
char s[128] = "abc"
char t[128] = "abcdefghijk"
char u[128] = "hello"
И я хочу сравнить их, используя функцию strncmp, которую я должен написать. Я знаю, что
strncmp(s, t, 3)
вернет 0, потому что abc == abc. Где я запутался, так это другие сравнения. Например
strncmp(s, t, 5) and
strncmp(s, u, 4)
Первый соответствует 3-й позиции, а затем уже не совпадает, а второй пример не совпадает вообще.
Я просто хочу знать, что возвращают эти два других сравнения и почему, чтобы я мог написать свою версию strncmp и закончить упражнение.