— teacher appointment exam, C, 2010 — 1 min read
1#include <stdio.h>23void print_r(int a[], int n);45int main(void)6{7 int a[] = {10, 20, 30, 40, 50};8 print_r(a, 5);9 return 0;10}11void print_r(int a[], int n)12{13 int *p = a + 1;14 while (p >= a)15 printf("%d\n", *p--);16}
print_r
함수의 첫번째 인자로 a
배열의 시작 주소를 넘겨준다.4
, sum = 4
5
, sum = 9
9
출력sum += score[i];
연산은 이뤄지지 않고 printf
한다. sum
의 값이 변하지 않았으므로 9
출력.9
출력120210
main
함수 위에 함수를 선언하고 main
함수 아래에 함수를 만들어서 사용하거나main
함수 위에 만들어서 사용하면 선언하지 않아도 된다.아래 두 코드는 같다.
1#include <stdio.h>23void print_r(int a[], int n);45int main(void)6{7 int a[] = {10, 20, 30, 40, 50};8 print_r(a, 5);9 return 0;10}11void print_r(int a[], int n)12{13 int *p = a + 1;14 while (p >= a)15 printf("%d\n", *p--);16}
1#include <stdio.h>23void print_r(int a[], int n)4{5 int *p = a + 1;6 while (p >= a)7 printf("%d\n", *p--);8}910int main(void)11{12 int a[] = {10, 20, 30, 40, 50};13 print_r(a, 5);14 return 0;15}