본문 바로가기

프로그래밍 언어/C언어

C언어 - scanf 입력받기, _CRT_SECURE_NO_WARNINGS

 

 

printf 는 자주 사용했다싶이 '출력' 을 의미한다.

 

그러면 입력을 하는 방법은 무엇일까?

 

 

오늘은 scanf에 대해서 배워보자!

 

scanf 는 출력하는 printf와 다르게 내가 값을 입력할 수 있다.

 

 

간단하게 설명하자면,

 

 

 

 

자 그럼 만약 scanf를 실행한다면 아래의 창과 같이 나타날 것이고

 

 

콘솔 창이 나올 것이고 왼 쪽 상단에 입력을 하라고 깜빡깜빡 표시될 것이다.

 

 

이제 scanf 를 사용하여 원하는 구구단을 출력해보자.

 

#define _CRT_SECURE_NO_WARNINGS //이것은 scanf 에러가 뜰 때 추가하면 된다.
#include <stdio.h>

int main() {

    int i, j;
    
    printf("Enter number: "); //printf를 이용해 안내문을 작성하였다.
    scanf("%d", &i);

    for (j = 1; j < 10; j = j + 1)
    {
        printf("%d * %d = %d\n", i, j, i*j);
    }

    return 0;
}

 

결론적으로 내가 직접 i 에다 값을 입력하는 것을 제외하고는

 

이전의 설명과 동일하다.

 

 

 

 

그런데 최신 버전의 비주얼스튜디오들은

안전성의 이유로 scanf를 사용하면 위와 같은 오류를 출력한다.

 

 

이럴 때 아래에 있는 코드를 제일 상단에 작성해주면 해결된다.

 

계속 비주얼스튜디오를 사용한다면 '#include <stdio.h>'처럼

습관적으로 맨위에 아래 코드를 입력하고 있는 자신을 볼 수 있을 것이다.

 

 

 

그러면 두 번은 어떻게 입력할까?

 

그냥 두개의 %d 사이에 스페이스바 한번 입력해주면 끝이다.

(왜 이렇게 되는지는 나중에 자세히 알아보기로 하자)

 

 

위의 코드를 이용하여 내가 원하는 구구단 범위를 정하여 출력해보자.

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {

    int i, j, p;
    
    printf("Enter number: ");
    scanf("%d %d", &i, &p);
    
    for (i; i < p + 1; i = i + 1)
    {
        for (j = 1; j < 10; j = j + 1)
        {
            printf("%d * %d = %d\n", i, j, i * j);
        }
    }
    return 0;
}

 

콘솔창이 나올 때 3단에서 5단을 출력하고싶다면

 

3 5 (3과 5사이에 스페이스바를 입력해준다) 를 입력한다.

 

 

 

 

 

 

https://book.naver.com/bookdb/book_detail.nhn?bid=8187381

'프로그래밍 언어 > C언어' 카테고리의 다른 글

C언어 - for 반복문  (0) 2020.07.07
C언어 - 프로그래밍을 위한 간단한 알고리즘  (0) 2020.06.02
C언어 - break, continue  (0) 2020.05.24
C언어 - if 조건문  (0) 2020.05.19
C언어 - 구구단 출력  (0) 2020.05.16