본문 바로가기
프로그래밍 언어/C언어

혼자공부하는C언어_도전실전예제_Chapter15

by 엉덩이싸움 2024. 2. 11.

//프로필 교환 프로그램
#include <stdio.h>
void swap(char* type, void* vp1, void* vp2); 

//책에서 제공한 함수 호출예제 swap("int", &a, &b)를 고려하여  

"int" 를 사용하기 위해 char * 변수 인자, int형과 double 형 모두를 인자로 받기 위해 void * 형태 의 인자 사용          


int main(void)
{
double height1, height2;
int age1, age2;


printf("첫 번째 사람의 나이와 키 입력: ");
scanf("%d %lf", &age1, &height1);
printf("두 번째 사람의 나이와 키 입력: ");
scanf("%d %lf", &age2, &height2);

swap("int", &age1, &age2);
swap("double", &height1, &height2);

printf("첫 번째 사람의 나이와 키 : %d, %.1lf\n", age1, height1);
printf("두 번째 사람의 나이와 키 : %d, %.1lf\n", age2, height2);

return 0;
}

void swap(char* type, void* vp1, void* vp2)
{
if (type == "int")
{
int temp = *(int*)vp1;
*(int*)vp1 = *(int*)vp2;
*(int*)vp2 = temp;

}
else if (type == "double")
{
double temp = *(double*)vp1;
*(double*)vp1 = *(double*)vp2;
*(double*)vp2 = temp;
}

}

프로필 교환 프로그램