상세 컨텐츠

본문 제목

C 스터디 과제 03

PROGRAMMING/C Mentoring

by koharin 2019. 4. 9. 12:02

본문

728x90
반응형

진도: 함수

 

실습문제 01

암스트롱 수인지 판별하는 프로그램

 

출력에서 어떤 수인지 힌트를 줘버렸다...ㅎㅎ

 

두 가지 방법

1. 세제곱 구한는 것을 define문으로 정해 둠

 

2. <math.h> 헤더파일의 pow() 함수 사용

pow(num%10, 3)

 

실습문제 02

 

스터디 자료 6. 함수에서 swap() 함수에서 ab가 바뀌지 않았던 이유에 대해 설명하고, 문제를 해결하시오.

-두 가지 방법을 사용

-포인터 사용 안 됨

 

이유: a, b를 인자로 swap()함수에서 전달받아서 a, b를 바꾸는 연산을 수행했지만 swap()함수가 리턴하여 다시 호출한 곳으로 (main함수)로 되돌아가면 swap()함수에서 사용했던 변수들은 모두 해제되므로 main() 함수에서 아무런 영향을 주지 않는다. 따라서 main함수 내 원래의 a, b 값이 그대로 출력된 것이다.

 

1. a,b를 전역변수로 선언: swap() 함수에서 연산만 하고 main함수에서 출력해도 문제가 생기지 않음

 

 

 

2. swap() 함수 내에서 바꾸고 출력 함: swap() 함수 내에서 출력하면 문제없음

 

 

결과는 모두 같음

 

728x90
반응형

'PROGRAMMING > C Mentoring' 카테고리의 다른 글

C 스터디 과제5  (0) 2019.05.13
C 스터디 과제 4  (0) 2019.05.06
C 스터디 과제02  (0) 2019.04.04
C 스터디 과제01  (0) 2019.04.04

관련글 더보기