lucete171   3년 전

예제 UNUCIC넣으면 36 정상적으로 출력되고

입력받는 문자열 크기 15로 하고 getchar 넣어서 문자열에 \n 도 안들어가게 했는데 

A 입력했을때 값이 튀네요ㅜㅜ

ehdrmsl2001   3년 전

글자 15개를 입력받으려면 char s1[16]으로 선언해야 합니다.

lucete171   3년 전

getchar로 띄어쓰기 안 받은 거 아닌가요?

ehdrmsl2001   3년 전

띄어쓰기요...?

15글자 + '\0' 해서 16칸이 필요합니다.

lucete171   3년 전

아 띄어쓰기가 아니라 엔터요 getchar로 해결되는 거 아닌가요? 그리고

16으로 바꿔도 틀렸다고 뜹니다

ehdrmsl2001   3년 전

s2가 초기화되지 않아서 쓰레기 값이 들어있을 수 있습니다.

char s2[16]={0}; 으로 선언하거나 전역변수로 선언하니까 맞네요.

lucete171   3년 전

둘다 16으로 바꾸고 0선언해주니까 맞네요ㅜㅜ

그런데 getchar로 해결이 안되는 이유는 뭔지 여쭤봐도 될까요?

그리고 아래와 같이 해도 틀리던데 왜인지 알수 있을까요?

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