int main()
{
char a[10][11]={0};
int i,cnt,s[4][10];
for(i=0;i<10;i++)
{
printf("%d번째 학생 이름 입력 : ",i+1);
gets(a[i]);
if(strlen(a[i]) > 10)
{
printf("글자수 범위가 넘어갔습니다n");
continue;
}
if(a[i][0] == 0) break;
printf("국어성적 영어성적 수학성적을 입력해주세요");
scanf("%d %d %d", &s[0][i], &s[1][i], &s[2][i]);
getchar(); // <- 이것
}
입력을 받고 있는데 입력을 반복해야 하는데 1번만 돌고 그냥 끝나버리더라구요 그래서 밑에다 또 겟 을 넣었는데
밑에 겟을 넣으니 정상적으로 돌아가던데 왜 그런건가요? `-`
혹시 제가 말도 안 되는 뻘짓을 하고 있는건지.. ㅠ
예)
1 2 3 엔터
입력된 내용은 버퍼로 저장된답니다
키보드 입력 버퍼에서 1 2 3만 가져가고 엔터는 남아있음!!!
그 뒤 엔터는 다음 입력 함수가 가져감!!!
당연히 다음 입력함수가 영향을 받음!!!
위의 getchar()는 그 남아있던 엔터(이것도 문자임!!! - 개행문자)를 받아감~!