Смотрю вторую неделю лекций CS50 (здесь: https://video.cs50.net/2016/fall/lectures/2?t=84m33s), где он повторно реализует strlen
, запуская цикл while
над символами строки, с этим циклом (другой код отредактирован):
string s = get_string();
int n = 0;
while (s[n] != '\0')
{
n++;
}
printf("%i",n);
Мой вопрос: можно ли изложить вышеизложенное в цикле for
?
Я попытался создать его, но из-за того, как отформатирован цикл for
, кажется, что он принудительно выводит после каждой итерации, в отличие от цикла while
, который допускает один вывод цикла при выполнении определенного условия.
Мне любопытно, может ли цикл for
добиться того же «одноразового, условного» вывода в таком случае, как этот. Если я правильно помню, while
уникален для C lang, а другие, такие как Python, имеют исключительно циклы for
(скажите мне, если я ошибаюсь!).
for(size_t n=0; s[n] != '\0'; n++) {}
. Или вы можете сделать это небрежными, устаревшими способами. - person Lundin   schedule 27.04.2017