oio3215   3년 전

preview

이렇게 해서 돌리면

a

b

c

까지 입력하면 아직 세개밖에 안썼는데 for문이 끝나고

a

b

까지 출력되고 멈춰요 ㅠㅠ

왜이럴까요..ㅠㅠㅠ

lucete171   3년 전

개행문자까지 입력받아서 그렇습니다 \n이 char data[]에 들어가는 거죠

해결방법은 개행문자를 따로 받는 것입니다 예를 들면 

scanf아래 쪽에 getchar()를 넣는 방법이 있죠

아래의 소스를 돌려보시면 이해가 더 잘 가실 겁니다

oio3215   3년 전

감사합니다.

그런데 아래의 코드를 실행 후
a
b
c
를 입력하니 6개를 아직 입력하지 않았음에도 또 끝나고
이상하게 출력이 됩니다 ㅜㅜ
제 컴파일러가 문제인건가요..? 왜이럴까요 ㅠㅠㅠ
C#코딩할땐 F5번으로 컴파일 했을때 아무런 문제가 없었는데 너무 답답합니다..

lucete171   3년 전

아래의 코드는 작성자 분의 의도에 따라 소스를 돌리면 안 된다는 것을 보여드리기 위해서 만든 소스입니다

제가 만든 소스의 12번째 줄을 보시면 arr[i]와 그 index값이 출력되도록 만들었습니다

a

b

c

를 입력했을 때 i=0인 경우는 원하는 대로 a 0이 나오겠지만 

작성자님 생각대로라면 i=1일때 b 2가 나와야 되는데 그렇지 않을 겁니다 그 이유는 위에서 설명했으니 고민해보세요

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