peter5659   4년 전

C언어로 짰는데 제가 문자열을 얼마 전에 배워서 그런지 개념이 잘 잡혀있지않아 이해가 되지 않는 부분이 있습니다

코드대로 짰을때 예를 들어 5 12345를 입력했을때 출력값이 a[0]=  a[1]=1 a[2]=2 a[3] =3 a[4]=4 가 나오고 a[0]=1 a[1]=2 a[2]=3 a[3] =4 a[4] =5가 나오지 않는

지 이유를 알고 싶습니다.. 고수분들 도와주세요ㅠㅠ

djm03178   4년 전

6번째 줄은 정수만을 읽으므로, 5 뒤에 입력된 공백 (스페이스 바)는 읽지 않고 그대로 입력 버퍼에 남아있습니다.

그 다음 8번째 줄이 5번 실행되는데, 가장 처음에 읽게 되는 문자는 아까 안 읽고 입력 버퍼에 남겨둔 공백이고, 그 다음이 1, 2, 3, 4 순입니다. 5와 그 뒤 개행 (엔터)는 읽히지 않고 입력 버퍼에 계속 남아있게 됩니다.

댓글을 작성하려면 로그인해야 합니다.