--
--/--
--:--
--/--
--:--
scanf()関数は、戻り値として書式変換出来た要素数を返す。
変換が出来なかった入力に関しては、標準入力に残り続ける。
だから、scanf()を含む繰返し文は、ループを起こす。
#include <stdio.h>実行すると、無限に i のカウントアップと出力をしつづけます。これに、
int main(void)
{
int i;
for (i = 0; ;i++) {
printf("%d ", i);
}
return 0;
}
#include <stdio.h>で、キー入力があった際には無限ループを抜けます。
#include <conio.h>
int main(void)
{
int i;
for (i = 0;;i++) {
if ( kbhit() ) {
break;
}
printf("%d ", i);
}
return 0;
}
#include <stdio.h>
#include <conio.h>
int main(void)
{
int i;
char buf;
for (i = 0; ; i++) {
if ( kbhit() ) {
buf = getch();
if(buf == ' ') {
break;
}
} else {
printf("%d \n", i);
}
}
return 0;
}
if (kbhit()) {
キー押下時の処理;
} else {
そうでない際の処理;
}Trackback