scanf("%d\n", &a); 가끔 이걸 쓸 때 빌드하고 터미널에서 값을 입력하면 이상하게도 그냥 무시되는 경우가 있었다. 그리고는 다시 문자나 문자열 입력을 요구하기도 한다.특히 연속으로 scanf 사용하는 경우에 문제가 발생하는 경우가 많다. scanf() 함수는 데이터를 입력 받을 때 버퍼를 이용하는데, 버퍼에 가져올 값이 없으면 사용자에게 데이터를 입력 받게 하기 위해 모니터 화면에 커서를 깜빡거리게 한다.그리고 사용자가 키보드로 데이터를 입력한 후 Enter를 치면, 그 때 입력한 데이터와 Enter값이 한꺼번에 키보드 버퍼에 들어가게 된다. * 버퍼 참고 예시 코드) #include int main(void) { int a; char b; scanf("%d", &a); scanf("%c",..
자바같은 경우는 변수를 스스로 초기화 시키지 않아도 지가 알아서 0으로 초기화 시키기 때문에 상관없지만, c언어에서는 변수 선언과 함께 그 전에 메모리에 있던 아무 의미 없는 쓰레기 값이 딸려 나올 수 있다. 변수 선언 시에 할당 받은 메모리 공간을 그 전에 다른 프로그램에서 사용하고 있었다면, 그 프로그램이 종료되었더라도 실제 메모리에 저장되었던 데이터가 남아 있기 때문에 변수를 초기화 하지 않으면 이런 현상이 발생한다고 한다. 백준 문제를 예로 들면 이와 같다. https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은..