Помогите пожалуйста написать функцию
Нужно написать функцию для определения длины строки, полностью аналогичную библиотечной strlen.
Ответы (2 шт):
Автор решения: Павел Ериков
→ Ссылка
Каждая строка в Си заканчивается детерминирующим нулем (\0) и чтобы узнать длину строки достаточно пройти от начала и до этого нуля.
int strlen(char* str) {
char* s = str;
int size = 0;
while (*s != '\0') {
++size;
++s;
}
return size;
}
Вот реализация покомпактнее:
int strlen1(char* str) {
int size = 0;
for (char* s = str; *s; ++s, ++size);
return size;
}
Автор решения: SelfishCrawler
→ Ссылка
int strlen_custom(const char* str)
{
int length = 0;
while (str[length] != '\0')
length++;
return length;
}
Вариант через указатели
size_t strlen_custom(const char* str)
{
const char* end = str;
while (*end++);
return end - str - 1;
}