Разница между циклом while и циклом do while

В чем разница между циклом while и do while. Раньше я думал, что оба они абсолютно одинаковы. Затем я наткнулся на следующий фрагмент кода:

do {
        printf("Word length... ");
        scanf("%d", &wdlen);
    } while(wdlen<2);

Этот код работает отлично. Он печатает длину слова и сканирует ввод. Но когда я изменил его на

while(wdlen<2){
        printf("Word length... ");
        scanf("%d", &wdlen);
    } 

, он дает пустой экран. Это не работает. Таким образом, между обеими петлями есть некоторая функциональная разница. Кто-нибудь может это объяснить? Заранее спасибо.

РЕДАКТИРОВАТЬ: Есть ли еще какое-нибудь различие между этими двумя?

33
задан narayanpatra 2 September 2010 в 09:33
поделиться