strlen



Strlen си

Автор Алексей Мамонтов задал вопрос в разделе Другие языки и технологии

Язык C++. Вопрос по функции strlen и получил лучший ответ

Ответ от Ёергей Максимов[гуру]
нет она идёт не от нулевого символа... .
она идёт от адреса куда указывает указатель.... и до

unsigned long strlen(unsigned char *str)
{
unsigned long ret;

if(str==NULL)return 0;

for(ret=0;str[ret]!=0;++ret);

return ret;
}

Ответ от Modern Иванов[гуру]
for (i=0; i<=strlen(str); i++)

Такая запись конечно не оптимальна. На каждой итерации происходит вызов ф-ции, а это накладно. Хоть оптимизаторы такие задачи могут выполнять на свой лад, лучше на это не рассчитывать, а записывать длину строки в переменную и её уже использовать в цикле.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Язык C++. Вопрос по функции strlen
спросили в Stdio h String h
Помогие решить задачу на языке Си
Если считать с нуля, то её позиция 2 🙂

#include <stdio.h>
#include
подробнее...
спросили в Stdio h String h
Си длина строки
#include <stdio.h>
#include <string.h>
#include <conio.h>
size_t
подробнее...

СИ: значение функции "strlen(strchr("Hello, world!", 'l'))"
В си подсчет элементов начинается с нулевого если я не
подробнее...

Стиральная машинка на 4 кг, недорогая, какую лучше брать?
а в чем экономия? если вы сделаете 3 стирки в 4-х килограммовой или 1 в 7-8-10 киллограмовой? еще
подробнее...
спросили в Улиты
Помогите определиться с выбором стиральной машинки - сколько оборотов отжима лучше -1000 или 1200?
разница ощутима... у нас переставляется по желанию... только чем больше оборотов тем мятее
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Styx
C++ оператор Switch-case
Судя по "коду" у вас просто бардак в голове: переменная j которую вы не используете, cout <<
подробнее...
Stringh на Википедии
Посмотрите статью на википедии про Stringh
Абисс на Википедии
Посмотрите статью на википедии про Абисс
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*