함수 사용법 3-9 scanf

Scanf 함수는 키보드로 입력한 값을 변수로 저장할 때 사용한다.

scanf 함수는 변수 형태에 맞는 변환문자를 사용하여 입력할 변수 앞에 & 기호를 붙인다.

예를 들어 int형 변수 a에 정수를 입력하는 방법은 이하와 같다(변환 문자와 변수 사이는 쉼표로 구분한다).예제를 통해 자세히 살펴보자.실행결과 프로그램을 실행하고 결과창을 보면 커서가 깜박이며 기다리게 될 것이다.

이 커서는 7줄의 scanf(“%d”, &a);를 수행한 결과값을 입력할 때까지 그 이후의 문장은 수행하지 않는다.

여기서 원하는 정수를 입력하면 그 값이 변수 a에 저장된다.

예를 들어 “10”을 입력하고 엔터를 치면 a에 10이 저장되고 다음 문장인 8행이 실행되고 입력된 10이 출력된다.

Scanf 함수 사용 유의점

  1. Scanf 함수에서 변수 이름을 지정할 때는 &를 붙여야 한다.가장 많이 틀리는 것이 변수 이름 앞에 & 기호를 떨어뜨리는 것이다.
  2. 출력할 때는 변수 이름만 사용하지만 입력할 때는 변수 이름 앞에 & 기호를 붙여야 한다.
  3. &기호는 변수의 주소를 구하는 연산자로, 다음에 상술한다.
  4. 2. Scanf 함수에서 사용한 변환문자와 일치하는 형태의 데이터를 입력해야 한다.scanf 함수는 변환 문자와 입력 형태가 다르면 데이터를 입력하지 못할 수 있다.
  5. 키보드로 입력하는 데이터는 모두 문자로 처리된다.
  6. scanf 함수는 변환 문자를 보고 정수로 변환할 것인지, 실수로 변환할 것인지, 아니면 그대로 문자열로 입력할 것인지 판단한다.
  7. 그런데 만약 변환문자와 다른 예상치 못한 데이터가 입력되면 Scanf 함수는 변환을 포기하고 실행을 중단한다.
  8. 이후 프로그램은 계속 진행되어 변수에 값이 입력되지 않기 때문에 Scanf 함수 이전에 있었던 쓰레기 값이 사용되어 그대로 출력된다.

error: Content is protected !!