티스토리 뷰
1581. swap함수 만들기
이 문제는 두 변수의 값을 바꾸는 함수를 구현하는 문제입니다. 아래 내용을 참고해서 풀어보세요.
함수명 : myswap
매개 변수 : 정수형 포인터 변수 변수 2개(매개변수를 반드시 int∗로 사용)
반환 값 : 없음
함수 내용 : 첫 번째 포인터가 가리키는 변수의 값이 두 번째 포인터가 가리키는 변수의 값보다 클 경우 두 값을 교환
1회. 문제 그대로 풀기
#include <stdio.h>
void myswap(int * pa, int * pb){
if(*pa > *pb){
int temp = *pa;
*pa = *pb;
*pb = temp;
}else return;
}
int main(){
int a, b;
scanf("%d%d", &a, &b);
myswap(&a, &b);
printf("%d %d", a, b);
return 0;
}
2회. 아래 사항을 참고해서 풀기
1. 변수 a와 b의 주소를 저장하는 포인터 변수 pa, pb
2. 포인터 변수의 주소를 매개변수로 받는 myswap 함수
3. 첫 번째 포인터가 가리키는 변수의 값이 두 번째 포인터가 가리키는 변수의 값보다 클 경우 저장된 주소를 교환
4. 출력 형태는 아래와 같다
입력 : 10 20
swap함수 호출 전 : 10 20
swap함수 호출 후 : 20 10
#include <stdio.h>
void myswap(int ** pa, int ** pb){
if(**pa > **pb){
int *temp = *pa;
*pa = *pb;
*pb = temp;
}else return;
}
int main()
{
int a, b;
int *pa = &a, *pb = &b;
scanf("%d%d", &a, &b);
printf("swap함수 호출 전 : %d %d\n", *pa, *pb);
myswap(&pa, &pb);
printf("swap함수 호출 후 : %d %d\n", *pa, *pb);
return 0;
}
'BackEnd > C' 카테고리의 다른 글
[28일차] 숙제 - 구조체 예제 (0) | 2021.03.12 |
---|---|
[27일차] 숙제 - 코드업 1402 /1409 _동적메모리 (0) | 2021.03.11 |
[25일차] 숙제 - 코드업 1460 / 1511_포인터배열 (0) | 2021.03.09 |
[24일차] 숙제 - 코드업 1402 / 1409_포인터변수 (0) | 2021.03.09 |
[23일차] 2. 공용체 / 열거형 / typedef (0) | 2021.03.06 |
댓글