ghtls0021   4년 전

while문을 사용해서는 풀었는데, 재귀함수로 풀어보고싶어서 그러는데..

논리는 맞는것 같고.. 오류도 없는것같다고 생각하는데 왜 실행하면 아무것도 안뜰까요?

nahwasa   4년 전

7~9번줄 괄호 어따 팔아드셨어요!

ghtls0021   4년 전

하하하... 정말 기본적인 실수였네요.감사합니다 :) 저같은 경우는 repl.it 과 atom으로 하는 편인데, 이런 컴파일에러는 왜 잡지 못하는걸까요?

혹시 컴파일 에러 자세히 캐치하는 프로그램 알 수 있을까요?

ghtls0021   4년 전

괄호를 추가해도 틀렸다고 뜨는데.. 혹시 반례찾아주실분 계신가요?

감사합니다 :)

djm03178   4년 전

0부터 9까지 출력해야 하는데 8까지만 하고 계십니다. 배열 크기도 8까지밖에 감당하지 못하고요.

nahwasa   4년 전

0부터 9까지는 10개입니다!

nahwasa   4년 전

else
  a[orgin%10]++;
  orgin=orgin/10;
  recursive(a,orgin);

에서 컴퓨터는 들여쓰기로 체크하지 않으니

그저 사용자가 시킨대로 할 뿐이죠.

이런 종류의 에러는 어느 ide도 못잡을듯합니다. 혹시 들여쓰기까지 생각해서 체크해주는 프로그램이 있다면 또 모르겠군요..

djm03178   4년 전

그리고 들여쓰기를 한 부분에 중괄호를 했는지 안 했는지는 컴파일러가 신경쓸 부분은 아닙니다. 들여쓰기라는 건 문법적으로 아무런 의미가 없는 요소이기 때문에, 프로그래머가 가독성을 위해서든 뭐를 위해서든 얼마든지 추가하고 제거할 수 있는 것일 뿐이기 때문입니다. 컴파일러 입장에서는 그저 else 뒤에 따라오는 문장 하나를 else일 때 실행하는 문장으로 취급하고, 나머지는 if~else에 무관하게 밖에 있는 문장으로 생각할 뿐입니다.

ghtls0021   4년 전

답변해주신 모든분들 감사합니다.

한 수 배워갑니다! 심심해서 시작한 프로그래밍인데 배움의 길은 끝이없네요....!

좋은 하루 되세요~

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