1

次のプログラムでは、ブロック内の printf が実行された後に while ループが停止すると想定しています。

ではない?

#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);
    }

}

誰かがAC初心者になぜ止まらないのか教えていただければ幸いです:)

tnx

4

1 に答える 1

7

minループ本体内の値を決して変更しないためです。条件が true になると、常に true のままになります。

于 2013-01-20T14:46:30.483 に答える