<문제.1>
a[] = {10, 20, 30, 40, 50} 을 거꾸로 출력하는 프로그램을 작성하세요.
(포인터 & while 활용)
<해설>
#include <stdio.h>
void print_reverse(int a[], int size){
int i = 4;
int *p = NULL;
p = a;
while (i > -1){
printf("%d ", *(p+i) );
i--;
}
}
int main(){
int a[] = {10, 20, 30, 40, 50};
print_reverse(a,5);
return 0;
}
<문제.2>
swap 을 활용하여 a = 100, b = 200 두 수 값을 바꾸세요.
<해설>
#include <stdio.h>
void swap(int *x, int *y){
int tmp;
tmp = *x;
*x = *y;
*y = tmp;
}
int main(){
int a = 100, b = 200;
printf("%d %d \n", a, b);
swap(&a, &b);
printf("%d %d \n", a, b);
return 0;
}
* 만약 swap 에 pointer 를 안 쓰면 swap 함수의 x, y 값만 서로 바뀔 뿐 main() 함수의 a,b 는 그대로다.
'C > Example' 카테고리의 다른 글
[C] 구조체 예제 (0) | 2021.03.10 |
---|---|
[C] 문자열 예제 (0) | 2021.03.09 |
[C] 좌석 예약 프로그램 (배열) (0) | 2021.03.08 |
[C] 배열 예제 (심화) (0) | 2021.03.08 |
댓글