printf와 scanf는 C 언어에서 입출력을 처리하는 함수입니다. 각각의 역할을 간단히 설명드리겠습니다.
printf 함수printf는 출력 함수로, 콘솔에 메시지나 값을 출력하는 데 사용됩니다.
printf("형식 지정자", 출력할 값);
#include <stdio.h>
int main() {
int num = 10;
printf("정수 값은: %d\n", num); // %d는 정수형 값을 출력하는 형식 지정자
return 0;
}
%d : 정수 값 (int)%f : 실수 값 (float 또는 double)%c : 문자 (char)%s : 문자열 (char 배열 또는 문자열 리터럴)%lf : double 값%x : 16진수 값 (소문자)%o : 8진수 값#include <stdio.h>
int main() {
int a = 5;
float b = 3.14;
char c = 'A';
char str[] = "Hello, World!";
printf("정수: %d\n", a); // 정수 출력
printf("실수: %f\n", b); // 실수 출력
printf("문자: %c\n", c); // 문자 출력
printf("문자열: %s\n", str); // 문자열 출력
return 0;
}
출력:
정수: 5
실수: 3.140000
문자: A
문자열: Hello, World!
scanf 함수scanf는 입력 함수로, 사용자가 콘솔에 입력한 값을 읽어 변수에 저장하는 데 사용됩니다.
scanf("형식 지정자", &변수);
#include <stdio.h>
int main() {
int num;
printf("정수를 입력하세요: ");
scanf("%d", &num); // 정수 입력 받기
printf("입력한 정수는: %d\n", num);
return 0;
}
%d : 정수 입력 (int)%f : 실수 입력 (float)%c : 문자 입력 (char)%s : 문자열 입력 (char 배열)%lf : double 값 입력#include <stdio.h>
int main() {
int a;
float b;
char c;
char str[100];
printf("정수 입력: ");
scanf("%d", &a); // 정수 입력 받기
printf("실수 입력: ");
scanf("%f", &b); // 실수 입력 받기
printf("문자 입력: ");
scanf(" %c", &c); // 문자 입력 받기 (공백을 추가하여 앞의 개행문자를 처리)
printf("문자열 입력: ");
scanf("%s", str); // 문자열 입력 받기
printf("입력한 값들: \n정수: %d\n실수: %f\n문자: %c\n문자열: %s\n", a, b, c, str);
return 0;
}
입력 예시:
정수 입력: 10
실수 입력: 3.14
문자 입력: A
문자열 입력: Hello
출력:
입력한 값들:
정수: 10
실수: 3.140000
문자: A
문자열: Hello
scanf를 사용해서 문자열을 입력 받을 때는 배열 크기를 지정해야 합니다. 예를 들어 char str[100];처럼 배열을 선언하고 입력받아야 합니다.scanf로 문자를 입력받을 때는 공백이나 개행 문자가 있을 수 있기 때문에, 이를 처리하기 위해 " %c"와 같이 공백을 추가하여 입력을 받는 경우가 많습니다.printf와 scanf 함께 사용하기#include <stdio.h>
int main() {
int age;
printf("나이를 입력하세요: ");
scanf("%d", &age); // 나이 입력 받기
printf("당신의 나이는 %d세 입니다.\n", age); // 입력 받은 나이 출력하기
return 0;
}
입력 예시:
나이를 입력하세요: 25
출력:
당신의 나이는 25세 입니다.
이렇게 printf와 scanf를 사용하여 입력과 출력을 처리할 수 있습니다.