kshy0519   2년 전

두 코드 중 위 코드와 아래 코드의 차이점이 무엇인가요??

차이점이라곤 a*b*c를 for문 범위 안에 바로넣느냐, variable로 만들어 넣느냐 차이입니다.

아래 코드는 정상적으로 나오는데 위 코드는 출력값이 1 0 0 0 0 0 0 0 0 으로만 나옵니다.

djm03178   2년 전

8번째 줄에서 c라는 이름의 변수가 문자열을 순회하기 위한 문자로 사용되면서 처음에 입력받은 값으로서의 c가 두 번째 루프부터는 사라지게 됩니다.

kshy0519   2년 전

어떤 말씀인지 이해가 안되네요. c가 곱셈한 문저열의 첫번째 자릿수만 돌고 사라진다는 의미인 것은 이해되는데, 그것이 왜 그런지 이해가 안됩니다. 더 자세히 설명해주실 수 있나요?

djm03178   2년 전

아래 코드를 가지고 설명 드리자면, range(1)이 0이라는 값을 a에 대입한 채로 루프를 끝내기 때문에 a의 값이 for 루프 전후로 바뀌게 됩니다. for에 쓰였다고 해서 별도의 a라는 변수가 만들어지는 게 아니라 바깥에 있던 a를 그대로 덮어쓰기 때문에 그렇습니다.

kshy0519   2년 전

아 변수를 겹쳐 썼었군요.. 꼼꼼하지 못한 탓이네요. 감사합니다!

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