42Seoul/printf 3

가변 인자(va_start, va_arg, va_copy, va_end)

C언어에서 va_start, va_arg, va_copy, va_end을 사용하려면 #include #include #include void f(int n, ...) { va_list v1; va_start(v1, n); int a; for (int i = 0; i < n; i++) { a = va_arg(v1, int); printf("%d", a); } va_end(v1); } intmain() { f(5, 1, 2, 3, 4, 5); } int n == 몇 개 가변인자를 넘겨줄 것인가. 매개변수들이 넘어올 때 int형 보다 작은 범위는 int로 double 보다 작은 범위는 double로 포인터는 void*로 넘어옴 float, char는 안 넘어감 va = variable argument va_l..

42Seoul/printf 2023.05.20

printf 반환형(반환형이 왜 int일까?)

반환형이 void가 아니라 왜 int형일까? int ft_printf(const char *, ...); printf의 반환 값 == 출력하는 문자 개수(개행 포함) 예제를 통해서 확인 #include intmain() { //f(5, 1, 2, 3, 4, 5); int num = printf("aaa\\n"); printf("%d", num); } 결과 참고 블로그 [C언어] printf 함수가 반환하는 값 [C언어] printf 함수가 반환하는 값 printf 함수는 화면에 문자열을 출력하는 기능을 하는데, 그 자체로도 값을 반환합니다. printf 함수가 반환하는 값은 문자열 길이입니다. printf 함수의 반환값을 확인하는 방법은 printf 함수를 변수 bigpicture123.tistory.com

42Seoul/printf 2023.05.20