为什么while循环在最后一个语句后没有停止?

时间:2013-01-20 14:45:42

标签: c

在下一个程序中,while循环假定在执行块中的printf后停止:

不是吗?

#include <stdio.h>
#define HOUR 60

int main()

{

    int min, smallThenHour, timeInHour, minLeft;

    printf("please enter time in minutes: \n");

    scanf("%d", &min);

    while (min > 0)

    {
        timeInHour = min/HOUR;
        minLeft = min % HOUR;
        smallThenHour = min < HOUR;

        printf("in %d seconds, there are %d and %d min",min, timeInHour,smallThenHour);
    }

}

欣赏有人可以告诉初学者为什么不停止:)

TNX

1 个答案:

答案 0 :(得分:7)

因为你永远不会改变循环体内min的值。一旦条件成立,它始终是真的。