코드에서 처음 몇 문제인지 입력할때 null 값을 어떻게 출력 안하게 할 수 있나요?

oc0110 Reply 9 years 2 weeks ago
코드에서 처음 몇 문제인지 입력할때 null 값을 어떻게 출력 안하게 할 수 있나요? ie: 5 null 0x13a 314 등등 으로 나와요.
pichulia Reply 9 years 2 weeks ago
많이들 하는 실수입니다. 현제 커서 위치를 | 로 대충 표시해본다고 칩니다. 처음 입력이 들어왔을 때 상태를 보면 |5'\n' 이 상태이겠네요. 그리고 scanf("%d");로 숫자 5를 읽고나서 커서의 위치를 보시면 5|'\n' 이렇게 됩니다. 즉, 커서의 위치가 아직도 첫번째 줄에 머물고있는 상태인거죠...그래서 getline으로 읽었을 때 '\n' 한글자만 읽혀서 null을 출력하는 것입니다. scanf 뒤에 getchar(); 등을 써서 '\n'까지 읽어 커서를 다음줄로 넘겨줍시다. scanf("%d ",&test); 처럼, %d 뒤에 띄어쓰기를 넣어서 해결하는 꼼수도 있습니다. (꼼수라고 한 이유는..이렇게 하면 안되는 경우도 있기 때문입니다..)