Я про
PHP код:
new i, c;
while ((c = str[i]) != '\0')
{
fputchar(LogFile, c, false);
i++;
}
Вид для печати
одни оптимизаторы.. Проще оставить как есть.
В твоем варианте, будет выход за придела массива.Цитата:
Сообщение от Anton Styazhkin
Или я ошибаюсь?PHP код:
new str[] = "Привет";
new i, c;
while ((c = str[i]) != '\0')
{
print(str[c]);
}
Мой вообще пример на второй страницы с циклом for.Цитата:
Сообщение от Anton Styazhkin
Делал по примеру, этого вариантаPHP код:
for(new f, s = strlen(str); f < s; f++)
{
fputchar(LogFile, str[f], false);
}
Только я не учел то, что в функцию fputchar записывается по одному символу.PHP код:
new i, c;
while ((c = str[i]) != '\0')
{
fputchar(LogFile, c, false);
}
В твоем варианте, потом тоже придется обращаться к массиву (обращение будет выполнятся при каждой итерации) как и в моем варианте.Цитата:
Сообщение от DeimoS
В данном случае обращение к массиву неизбежно.
Я в курсе. Просто забыл подправить код Стяжкина.
Только суть в том, что у Стяжкина мы сначала обращаемся к массиву, потом записываем его значение в переменную, и лишь только потом работает со значением. В ситуациях, когда мы много раз обращаемся к массиву, выигрыш от этого, несомненно, есть (хоть и несущественный, о чём я говорил изначально), но если брать именно единичное обращение к массиву...
Вообще это был сугубо стёб аптимизаторов, которые отказываются от каких-то реализаций в угоды пары макросекунд. Странно, что он раздулся в нечто подобное