진도: 함수
실습문제 01
암스트롱 수인지 판별하는 프로그램
두 가지 방법
1. 세제곱 구한는 것을 define문으로 정해 둠
2. <math.h> 헤더파일의 pow() 함수 사용
pow(num%10, 3)
실습문제 02
스터디 자료 6. 함수에서 swap() 함수에서 a와 b가 바뀌지 않았던 이유에 대해 설명하고, 문제를 해결하시오.
-두 가지 방법을 사용
-포인터 사용 안 됨
이유: a, b를 인자로 swap()함수에서 전달받아서 a, b를 바꾸는 연산을 수행했지만 swap()함수가 리턴하여 다시 호출한 곳으로 (main함수)로 되돌아가면 swap()함수에서 사용했던 변수들은 모두 해제되므로 main() 함수에서 아무런 영향을 주지 않는다. 따라서 main함수 내 원래의 a, b 값이 그대로 출력된 것이다.
1. a,b를 전역변수로 선언: swap() 함수에서 연산만 하고 main함수에서 출력해도 문제가 생기지 않음
2. swap() 함수 내에서 바꾸고 출력 함: swap() 함수 내에서 출력하면 문제없음
결과는 모두 같음
C 스터디 과제5 (0) | 2019.05.13 |
---|---|
C 스터디 과제 4 (0) | 2019.05.06 |
C 스터디 과제02 (0) | 2019.04.04 |
C 스터디 과제01 (0) | 2019.04.04 |