minc   7년 전

답은 제대로 나오는거 같은데... 자꾸 틀렸다고 하네요;

어디가 ㅁ

sgchoi5   7년 전

newNum 은 지역변수라서 모든 상황에서 초기화(예를 들어, 전역 변수인 경우 0 처럼..)가 보장되지 않습니다.

 

ook505   7년 전

newNum = 0 하시기만 하면 정답이십니다.

hankh0821   7년 전

죄송하지만 newNum+=(num[i]-'0'); 여기에서 -'0'을 해주는 이유 좀 여쭤봐도 될까요?

sgchoi5   7년 전

char 에 저장되는 하나의 문자가 int 형에 할당될 때 숫자값으로 변형이 되도록 하기 위해서 '0' 만큼 빼주는 것입니다.

ascii table 을 검색해 보시길... : )

difmfmdi   7년 전

이 코드 NewNum=0 처리하고 제출하면 맞았습니다! 처리되긴 하는데 컴퓨터에 소스코드 복사해서 c파일 컨파일 후 실행하면

10이하 수는 괜찮은데 10부터 실행하려고하면 10입력 12345678910 입력하면 55가 출력안되고 46이 나오는데

이렇게 되면 초기화해서 쓰레기값이 나올 이유가 있는게 아닌데 왜 46이라는 값이 나오는지 모르겠어요

123.jpg 

minc   7년 전

제가 작성한거는 문자열 하나씩 읽어서 더하는거여서 10이 아니라 1, 그리고 0을 읽어서 그래용~

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