scanf에 대해 질문드립니다.
햇햇
2023.04.01
질문 제목 : 질문 내용 :
#includestdio.h
int main()
{
int a;
scanf(%d,&a);
printf(a값 = %d\n,a);
scanf(%d,&a);
printf(a값 =%d\n,a); return 0;
}
숫자를 받고 출력하고,그다음 문자를 받으니 그전 숫자가 똑같이 출력됩니다.
예를 들어 3을 입력받고 출력후 a 를 입력받으니 출력값은 여전히 3이나오는데요.왜이런거지요??물론 출력값이 a를 나오길 바라는건 당연히아닙니다. 3이나오는 이유가 궁금합니다.
그리고
#includestdio.hint main(){ int a; while(1) { scanf(%d,&a); printf(a값 = %d\n,a); scanf(%d,&a); printf(a값 =%d\n,a); } return 0;}
scanf 뒤에 fflush(stdin); 명령어를 뺏더니 문자 입력시 무한루프가 걸립니다.
정수는 안그런데 왜 문자는 버퍼를 제거해주지 않으면 무한루프가 걸리나요..?
답변부탁드립니다 ㅠㅠ
-
가막새
죄송합니다 수정하다가 오타가잇엇다는걸 발견햇네요
-
파라미
좀 전에 글올리셨다가 삭제하셨던데.
답변쓰고있는데 지우시면 어쩝니까. -
민트맛사탕
다들 답변 감사드립니다