더북(TheBook)

이러한 방식으로 코드를 작성했을 때의 문제점은 무엇일까요? 함수의 종류가 많아질수록 main() 함수는 아주 긴 코드의 아래쪽에 자리잡게 됩니다. main() 함수를 바로 찾아보기 어려우므로 코드 가독성이 상대적으로 떨어집니다.

icon_wait

scanf( ) 함수에 대해

scanf( ) 함수는 사용자로부터 입력을 받는 함수입니다. 사용자로부터의 입력은 주로 키보드 입력을 의미합니다. C 언어 코드 수행 중 scanf( ) 함수를 만나면, 수행을 멈추고 화면에는 커서가 깜빡거립니다. 이것은 사용자로부터 입력을 받기 위해 대기 중인 상태란 뜻입니다. 그리고 사용자가 정수를 입력하면 그 숫자는 정수 변수에 입력됩니다.

예를 들어 scanf(“%d”, &x);라는 문장을 볼까요? 이 문장은 사용자로부터 10이라고 입력을 받으면 변수 x에 10을 저장합니다. 여기서 &는 주소 연산자로, scanf( ) 함수를 통해 입력받은 정수를 변수에 저장하기 위해 ‘&변수이름’처럼 사용합니다. 아직 포인터를 배우지 않았으므로 우선 여기까지만 알고 넘어가도 됩니다.

단, 비주얼 스튜디오에서 scanf( ) 함수를 실행하면 보안상 이유로 오류가 발생하는 경우가 있습니다.

#include <stdio.h>
 
main() {
    int a;
    scanf("%d", &a);
    printf("%d\n", a);
}

 

이런 경우에는 코드 맨 위에 #define _CRT_SECURE_NO_WARNINGS를 추가해 주면 해결이 됩니다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
main() {
    int a;
    scanf("%d", &a);
    printf("%d\n", a);
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.