scanf와 입력
사용자 입력을 읽습니다
scanf와 입력은(는) CoddyKit의 무료 C Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
scanf의 기능
scanf는 사용자가 입력한 형식화된 입력을 읽습니다. printf와 같은 지정자를 사용합니다.
#include <stdio.h>
int main(void) {
int x = 0;
/* scanf("%d", &x); */
x = 5;
printf("x = %d\n", x);
return 0;
}주소 연산자
scanf는 값을 저장할 수 있도록 변수의 주소가 필요합니다. 그래서 &x라고 작성합니다.
#include <stdio.h>
int main(void) {
int x = 42;
int *p = &x;
printf("value via address = %d\n", *p);
return 0;
}정수 읽기
정수를 읽으려면 %d와 int 변수의 주소를 전달하십시오.
#include <stdio.h>
int main(void) {
int n;
/* scanf("%d", &n); */
n = 7;
printf("You entered %d\n", n);
return 0;
}실수 읽기
float을 읽으려면 %f를, double을 읽으려면 %lf를 사용하십시오.
#include <stdio.h>
int main(void) {
double d;
/* scanf("%lf", &d); */
d = 3.14;
printf("d = %.2f\n", d);
return 0;
}여러 값 읽기
하나의 scanf로 공백으로 구분된 여러 값을 읽을 수 있습니다.
#include <stdio.h>
int main(void) {
int a, b;
/* scanf("%d %d", &a, &b); */
a = 3; b = 4;
printf("sum = %d\n", a + b);
return 0;
}문자 읽기
문자 하나를 읽으려면 %c를 사용하십시오. 공백과 줄 바꿈도 함께 읽는다는 점에 주의하십시오.
#include <stdio.h>
int main(void) {
char c;
/* scanf(" %c", &c); */
c = 'X';
printf("char = %c\n", c);
return 0;
}단어 읽기
%s는 공백으로 구분된 단어를 문자 배열에 읽어 넣습니다. 배열 이름은 이미 주소이므로 &가 필요하지 않습니다.
#include <stdio.h>
int main(void) {
char word[20];
/* scanf("%s", word); */
word[0] = 'H'; word[1] = 'i'; word[2] = 0;
printf("word = %s\n", word);
return 0;
}scanf 반환값
scanf는 성공적으로 읽은 항목의 개수를 반환합니다. 잘못된 입력을 감지하려면 반환값을 확인하십시오.
#include <stdio.h>
int main(void) {
int n = 5;
int read = 1; /* pretend scanf returned 1 */
if (read == 1)
printf("got %d\n", n);
return 0;
}앞쪽 공백 건너뛰기
숫자 지정자는 앞쪽 공백을 자동으로 건너뛰지만 %c는 그렇지 않습니다. %c 앞에 공백을 넣으면 이 문제를 해결할 수 있습니다.
#include <stdio.h>
int main(void) {
char c = 'Y';
printf("Reading with \" %%c\" skips spaces\n");
printf("c = %c\n", c);
return 0;
}입력 검증
데이터를 신뢰하기 전에 항상 반환값을 확인하세요.
#include <stdio.h>
int main(void) {
int value = 10;
int ok = 1;
if (ok)
printf("valid: %d\n", value);
else
printf("invalid input\n");
return 0;
}종합하기
일반적인 프로그램은 사용자에게 입력을 요청하고, 값을 읽은 다음 사용합니다.
#include <stdio.h>
int main(void) {
int age;
printf("Enter age: ");
/* scanf("%d", &age); */
age = 20;
printf("Next year you will be %d\n", age + 1);
return 0;
}빠른 확인
scanf에 대한 이해도를 확인해 보세요.
복습: scanf와 입력
사용자 입력을 읽는 방법을 배웠습니다.
scanf는 printf 스타일 형식 지정자를 사용합니다- 저장할 위치를 알 수 있도록
&var를 전달합니다 - double에는
%lf를, 단어에는%s를 사용합니다 - 입력을 검증하려면 반환값을 확인합니다
- 공백을 건너뛰려면
%c앞에 공백을 넣습니다
자주 묻는 질문
“scanf와 입력” 강의는 무료인가요?
네 — “scanf와 입력” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C Academy 강의 전체를 잠금 해제할 수 있습니다. C Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“scanf와 입력”에서 뭘 배우나요?
사용자 입력을 읽습니다 브라우저에서 직접 실행하는 실습 코드로 C Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
C Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 C Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“scanf와 입력” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 C Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 C Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- printf 형식 지정자
- scanf와 입력
- 너비, 정밀도, 플래그
- 흔한 입출력 함정