Организация символов с помощью DO...WHILE
В общем виде этот оператор можно записать следующим образом:
- do
- оператор;
- while(выражение);
Выполняется "оператор", а затем вычисляется "выражение2". Если оно истинно, то снова выполняется "оператор" и.т.д. Если "выражение" становится ложным, циклический процесс заканчивается. Это так называемый цикл с постусловием: условие завершения цикла проверяется не в его начале. как это имеет место в операторах while и for, а в конце, уже после прохода по телу цика. Как следствие, тело цикла обязательно выполняется по крацней мере один раз. Этот тип цикла встречается нечасто, но иногда бывает полезен. Составим , например, функцию length(s), которая вычисляет длину строки s с учетом завершающегося нуля. Известно, что число символов в строке не меньше единицы, если учитывать этот нулеврй символ. Поэтому естественно предположить, что мы бедм проходить по телу цикла по крайней мере один раз. Значит, можно использовать цикл do - while.
- /*длина строки*/
- length(s);
- char s[]
- {
- int i,l;
- i=l=0;
- do i++;
- while(s[l++]!='\0');
- return(i);
- }
- #include <stdio.h>
- main()
- {
- printf("%d\n",length(""));
- printf("%d\n",length("мама"));
- }