K&R C を学んでいて、これは私を混乱させました。
ここで、ループの中に入れるとreturn k
、出力されませんk
。しかし、 を書くprintf("k :%d", k)
と、 (初期状態) の値を 1 つ出力して終了しますが、の値は出力k
しません。return
k
これは正確に何をしているのか混乱させます。ループに入った場合、値がゼロreturn
になる可能性があるので、なぜループを終了しないのですか?printf
k
return k
int k;
for (k=0; k<5; ++k)
{
printf("k :%d\n",k);
return k;
}
出力:
k:0
ループに入ったので、本当でなければなりません。なぜその後return
の値ではないのk
ですか?
完全なプログラムは次のとおりです。
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int k;
for (k=0; k<5; ++k)
{
printf("k %d\n",k);
return k;
}
return EXIT_SUCCESS;
}