文字を読み取ってテーブルに配置するために getchar() を使用し、整数を取得するために scanf を使用しています。
scanf() の問題は、ユーザーの入力を待たずに、getchar() を使用して、前の行で指定された最後の文字をバッファーから読み取ることです。
sscanf, fflush(stdin); を試しました。などですが、私はまだ同じ動作をしています。
#include <stdio.h>
#include <stdlib.h>
main()
{
int i, choice, tmp_day, tmp_month;
char name[5];
printf("insert choice(1-3):\n");
scanf("%d",&choice);
printf("name: ");
for (i=0;i<5;i++) name[i]=getchar();
name[5] = '\0' ;
printf("day (1-31): ");
scanf("%d",&tmp_day);
printf("month (1-12): ");
scanf("%d",&tmp_month);
printf("\n%d %d", tmp_day, tmp_month);
}
何か案が?
前もって感謝します。