63.9 심사문제: 몫과 나머지를 구하는 함수 만들기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int getQuotientAndRemainder(int num1, int num2, int*remainder) // 나머지의 주소값을 입력 받으니 int 포인터형으로 매개변수를 선언합니다
{
int quotient = num1 / num2;
*remainder = num1 % num2; // 포인터를 역참조하여 remainder 값을 넣어줍니다
return quotient; // quotient에 반환값이 들어가므로 return 값으로 quotient를 넣어줘야 합니다
}
int main()
{
int num1;
int num2;
int quotient; // 몫
int remainder; // 나머지
scanf("%d %d", &num1, &num2);
quotient = getQuotientAndRemainder(num1, num2, &remainder);
printf("%d %d\n", quotient, remainder);
return 0;
}
63.10 심사문제: 함수에서 메모리를 할당하여 배열 만들기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void allocArray(void **ptr, int size, int fullSize) // 포인터의 주소를 받아야 하므로 이중 포인터로 지정해줍니다
{
*ptr = malloc(fullSize * size); // 이중 포인터를 역참조하여 포인터에 동적 메모리를 할당해줍니다
}
int main()
{
long long *numArr1;
int *numArr2;
allocArray((void **)&numArr1, 10, sizeof(long long));
allocArray((void **)&numArr2, 3, sizeof(int));
scanf("%lld %d", &numArr1[9], &numArr2[2]);
printf("%lld %d\n", numArr1[9], numArr2[2]);
free(numArr2);
free(numArr1);
return 0;
}
63.11 심사문제: 문자열 매개변수 사용하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void printFullName(char *family, char *given) // 반환값 없이 출력해야 하므로 void형으로 선언해줍니다
{
printf("%s%s", family, given); // 배열에 저장되어있는 문자열이 붙어서 출력됩니다
}
int main()
{
char familyName[31];
char givenName[31];
scanf("%s %s", familyName, givenName);
printFullName(familyName, givenName);
return 0;
}
'C_study' 카테고리의 다른 글
[C] 코딩도장 65 : 함수에서 구조체 매개변수 사용하기 (0) | 2021.08.11 |
---|---|
[C] 코딩도장 64 : 함수에서 배열 매개변수 사용하기 (0) | 2021.08.10 |
[C] 코딩도장 62 : 함수에서 매개변수 사용하기 (0) | 2021.08.06 |
[C] 코딩도장 61 : 함수에서 반환값 사용하기 (0) | 2021.08.05 |
[C] 코딩도장 60 : 함수 사용하기 (0) | 2021.08.03 |