int intSwap(int& a) {
int remainder = 0;
int reversed = 0;
while(a != 0) {
remainder = a % 10;
reversed = reversed * 10 + remainder;
a /= 10;
}
a = reversed;
return a;
}
숫자를 reverse하는 함수
예를들어 112 == 211, 432 == 234 이렇게 리턴하는 함수인데
리턴 위에있는 a = reversed;를 빼고
그냥 return reversed;라고 하면 0을 리턴하는데 이거 왜이런거냐
위에 0으로 초기화해서 그런건가
그렇게 치면 a = reversed도 0을 리턴해야하는데
해당 댓글은 삭제되었습니다.
레퍼런스, C++에 있는거임
포인터랑 비슷한데 포인터 사용중에 만들 수 있는 실수들을 줄일라고 생긴거
알고리즘을 잘못짠듯
근데 a = reversed; return a;
이렇게하면 정상적인 작동을 하는데
니가 짠 코드대로 정확히 움직이는데 무슨 문제라도
아니 return a; 말고 return reversed;를 하면 0을 리턴하는데 그 이유가 궁금해서
잘못짯음
리턴한 걸 출력하지 않고 인자로 준 걸 출력했겠지 0을 리턴했다는 게 실제론 a가 0이 된 채로 루프가 끝났고 그걸 출력한 걸 니가 착각한 거다
그런가 집가서 다시해볼게 ㄱㅅ
와ㄷㄷㄷ 아무리 생각해도 이거밖에 없다. ㄷㄷ 질문자글기 부실해도 나머지를 유추해서 대답하는 크라스 ㄷㄷㄷ 외쳐! 개.고.쑤! 아름다울 미!