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

MNY*_*MNY 1 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);
    }

}
Run Code Online (Sandbox Code Playgroud)

很感激有人可以告诉ac初学者为什么不停止:)

TNX

Ker*_* SB 7

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