왜 틀리는 걸까요?ㅠㅠㅠ

dosemanse Reply 9 years 31 weeks ago
왜 틀리는지 모르겠어요ㅠㅠㅠ 문제가 뭔가요?
pichulia Reply 9 years 31 weeks ago
scanf("%d", &nLine); 이 부분이 문제였습니다. %d로 읽고나서 %s로 문자열을 읽으려고 하는 경우 시작위치가 저 "nLine"숫자 바로 뒤에서부터 읽어들려고 합니다. 그래서 지금같은 경우 예제를 넣으면 buf1에는 '\n' buf2에는 "1001101"이 들어가게 됩니다. scanf 뒤에 getchar를 써서 \n을 빼주던지, 아니면 scanf("%d ",&nLine); 이렇게 d 뒤에 공뱈을 넣는 꼼수도 있습니다.
dosemanse Reply 9 years 31 weeks ago
getchar를 삽입해보고 그냥 공백도 넣어봤는데 안되네요ㅠㅠㅠ 뭐가 또 잘못된걸까요 조교님 ㅠㅠ
pichulia Reply 9 years 31 weeks ago
과거의 저는 왜 저런 답변을 달았을까요...저건 scanf("%d")와 gets();를 사용했을 때 나오는 실수인데... 사실 코드에서 듣보함수들이 많아서 어디가 틀렸는지 몰랐던걸수도 있습니다..아무튼 결국 초기화를 안해서 생긴 문제였네요. 찾으셨다니 다행입니다.