4470번 - 줄번호
어디에서 잘못되었는지, 잘 모르겠어요...
입력을 보시면 중간에 띄어쓰기가 있습니다. 그래서 scanf대신 fgets와 같은 함수를 사용해야 합니다. fgets는 띄어쓰기가까지 입력이 가능하고, scanf는 띄어쓰기를 입력 받지 못합니다.
그냥 scanf 빼고 fgets(str, 50, stdin)을 넣으시면 되요
; 포함해서요
fgets();함수를 아직 써 보지 않았어서 그랬어요. stdin은 무엇인가요? str아닌가요?
str은 문자열 이름이잖아요
그리고 stdin은 입력한다의 뜻을 가지고 있어요
그래서 첫 번째 파라미터는 메모리 공간에서 어디에 입력 받는지 나타내는 문자열의 이름을 입력하고요 두 번째 파라키터는 최대 입력하는 글자 수를 뜻하구요 마지막 파라미터는 단순히 입력을 뜻합니다.
헸갈리시면 그냥 str 이름 대신 a나 다른 걸 써봐요 fgets 나중에 사용할 때 전혀 안 헸갈릴 거에요
그리고 한 가지요 배열 50개 잡으면 안 돼요 왜냐하면 문자열은 끝을 나타내는 null문자가 있어야 하는데, 만약 50글자의 문장이 입력 되면, null문자의 공간이 없어져 또 틀릴 거에요 그니까 배열 크기를 50보다 크게 잡으세요.
실행 자체가 안 되네요.....
실행 잘 되는 데요?
디버깅 오류가 나요
아닌가요 저 이 소스 비슷한 거 제출했는데, 출력 형식이 잘못되었습니다 가 나타났어요
그럼 이거일 거에요 fgets는 띄어쓰기 도 입력 받아서 줄내리기도 입력 받을 걸요? 연구를 해 보세요 아니면 https://www.acmicpc.net/board/...참고하세요.
fgets대신 cin.getline(&a[1], 55); 써보세요 그럼 맞았습니다 떠요
일단 n부터 입력 받으셔야 할 것 같습니다.
ㅋㅋㅋ n이 없어요
개수를 알고 시작하셔야죠
stdin은 standard input의 의미를 가지고 있어요
댓글을 작성하려면 로그인해야 합니다.
acruxdy 5년 전 1
어디에서 잘못되었는지, 잘 모르겠어요...