我正在使用getchar()來讀取字符並將它們放在一個表上,以及scanf以獲得一個整數。scanf獲取先前執行的getchar的輸入()
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);
}
任何想法?
在此先感謝。
char name [5]; - >字符名稱[6];索引0..5 =大小是6 – BLUEPIXY 2012-04-27 12:17:59