2009/06/05

cc,gcc,g++等で

int x,y;
printf("x:");x=getchar();
printf("y:");y=getchar();

等とするとy=gethcar();の部分が実行されない

これはscanf("%d",&y);等としても不可だったと思う

仕方ないので

#include<stdlib.h>
#define MAX 256
char buf[MAX];

とでもして

printf("x:");fgets(buf,MAX,stdin);x=atoi(buf);
printf("y:");fgets(buf,MAX,stdin);y=atoi(buf);

とでもしている

fgetsにしたのはgetsでは警告が出るため

2009/6/16追記
fflush(stdin);やrewind(stdin);で入力バッファをクリアすれば

getchar()やscanfでもいけるらしい

0 件のコメント: