C언어 수업정리/3월 수업정리

3월 25일 함수 예제 6-1

송시혁 2013. 3. 25. 11:46

main함수외의 또 다른 함수를 이용한 프로그램 소스

평균값을 구하는 프로그램.

 

#include <stdio.h>

float average (int n1, int n2);// 함수의 원형 proto type

int main()
{
  int num1;
  int num2;
  float avrg;
  
  printf("Please enter an integer: ");
  scanf("%d"&num1);
  printf("Please enter an integer: ");
  scanf("%d"&num2);
  
  avrg = average(num1, num2);//average가 있으면 아래 함수로 점프float (==average)
                                         // 변수의 숫자도 같아야 한다.
  printf("The average of %d and %d is %6.3f\n", num1, num2, avrg);
  
  return 0;
}


float average(int n1, int n2)// 만들 수 있다. 인자 혹은 인수.= 리스트
{
  float avg;
  
  avg = (float)(n1 + n2)/2;
  return (avg);//avg가 실수형이다. 그래서 float average에 반환된다.리턴값.
}

 디버깅 반드시 해보면서 이해하기.

 

프로그램이 실행되다가 여기 avrg = average(num1, num2); 에서 잠시 실행을

멈춘다.

average()가 main()함수에게 호출되기 때문에

main()= 호출자, average() = 피호출자

 

   float average(int n1, int n2),    avrg = average(num1, num2); average =

 =서로의 함수이름이 같음.

(n1, n2), (num1, num2) 서로의 변수 갯수가 같음.

인자, 인수를 호출한다.

num1은 n1으로 num2는 n2로 호출한다.

return (avg)는 float형 평균값을 키보드로부터 받아서 계산한 값이

리턴된다.

  avrg = average(num1, num2);에서   avrg = average(3.5);

가 된다. (디버그에서 확인)