#include <stdio.h>
/* function declaration */
void func(void);
static int count = 5; /* global variable */
main() {
while(count--) {
func();
}
return 0;
}
/* function definition */
void func(void) {
static int i = 5; /* local static variable */
i++;
printf("i is %d and count is %d\n", i, count);
}
私はwhileループで探していますし、カウントが0に達したとき、それはしかし、0で停止しなければならない理由として理由がない、それが停止します。私は0としてカウントを設定しようとし、使用する - と-1になったので、これは私が見ることができるから0に停止する必要はありません理由はありません。whileループがこのコードで0で停止するのはなぜですか?
count'がゼロである場合には ''(カウント - )ながら 'ゼロ、またはfalseに評価し、その条件がもはや真ではありませんので、ループが停止した(非ゼロ)。これは 'while(count_!= 0)'としてより冗長に書くことができます。 'count - 'は減算の前に 'count'の値に評価されます。最初に減分したい場合は、 '--count'(減分された値を返します)を書きます。 –
「理由なし」とはどういう意味ですか? '0'のループ条件は十分な理由ではありませんか? –
カウント数を考えているうちに考えていませんでした。 – user1256053