leeya429   5년 전

비쥬얼로 돌려봤더니 10개씩 끊어서 제대로 출력되는데 제출하면 틀렸다고 나오네요ㅜㅜ 뭐가 문제인건가요....?

djm03178   5년 전

널 문자는 출력하면 안 됩니다. 지금은 무조건 100글자를 모두 출력하기 때문에 입력이 100보다 짧은 경우 널 문자를 남은 곳에 출력하게 됩니다.

sgchoi5   5년 전

2 차원 배열로 하지 마시고, 1 차원 배열에 최대 개수의 문자 + 1 개 (null char) 만큼 배열을 잡고 scanf 로 값을 주셔야 합니다.

2 차월 배열이 논리적으로 1 차원 처럼 되어 있다는 보장이 없을 듯 하네요.

1 차원 배열에 들어온 문자에 대해서 10 자씩 끊어서 출력하시면 될 듯 합니다...

djm03178   5년 전

2차원 배열로도 (마지막에 널 문자를 위한 한 칸이 모자라다는 것을 빼곤) 정상 동작 보장은 됩니다. 애초에, 배열 첨자 연산자 자체가 그런 식으로 메모리 주소를 계산해주는 연산자입니다.

djm03178   5년 전

물론 원칙적으로 봤을 땐 scanf로 문자열 입력은 1차원 주소에 받는 게 맞지만요.

leeya429   5년 전

이렇게 해도 안되는데... 논리가 틀린건가요? ㅜㅜ100개가 모두 출력되지만 이렇게 안하면 10개씩 끊어서 출력을 할 방법이 없는것 같아서요..

djm03178   5년 전

혹시, 문자열의 끝에 들어가는 널 문자라는 것에 대해 들어보셨나요?

leeya429   5년 전

다시 이렇게 수정해봤는데

틀렸다고 나오네요.. 

djm03178   5년 전

이미 널 문자를 출력하고 그 다음에 검사하니 틀리죠.

leeya429   5년 전

아..풀렸어요! 알려주셔서 감사합니다^^

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