728x90
반응형
scanf 를 사용하는 경우에, 버퍼가 비워지지 않아서, 이럴때 보편적으로 fflush(stdin); 하는 식으로 처리를 하거나
문자열 의 버퍼오버플로우의 문제가 생길까봐 fgets 나 아니면 버퍼를 겁나 키우던지 하는 방법을 썼는데
해결 방법으로 * 가 있습니다
특히나 문자열을 scanf 로 입력받을 때 유용합니다.
#include<stdio.h>
int main()
{
char str[10];
scanf("%9s %*s", str); //9개만 받고 나머진 버퍼를 비워버립니다
//scanf("%s", str); // 요 방법으로 str 크기를 벗어나면 보통은 런타임에러
printf("%s", str);
return 0;
}
int inum;
scanf("%*d", &inum);
요런 경우는 뻘 코드. 애초에 입력받자마자 죄다 비워버리기 때문에, 메모리공간의 쓰레기값들이 그냥 그대로 출력되는것을 확인할수 있습니다
728x90
'코스웨어 > 졸업생' 카테고리의 다른 글
서울에 주쌤교도가 있다합니다 (12) | 2015.03.17 |
---|---|
[12년 정철] 우와...... (10) | 2015.02.27 |
[12년 정철] 커널관심 있으신분? (11) | 2015.02.05 |
저도 선배 부심 한번 (17) | 2015.02.03 |
[12년] 아니 이곳은!!!? (12) | 2015.01.30 |
[12년 정철]헬게이트 시작... (3) | 2015.01.27 |
졸업생 게시판 생성 자축!~! (12) | 2015.01.26 |
주쌤!!!! (4) | 2015.01.26 |