printf

Written on April 18, 2017

printf는 일련의 데이터를 특정한 형식에 맞추어 stdout에 출력하는 함수입니다.

어렵게 들리지만 첫 수업시간에 작성한 코드를 실행해보면 다음과 같은 단순한 결과를 얻을 수 있습니다.

#include <stdio.h>

int main(){
  printf("Hello, World!");
  
  return 0;
}
출력 결과  
Hello, World!

printf로 문자를 출력할 수도 있지만 변수(주로 정수형)를 출력하는 경우도 있습니다.

#include <stdio.h>

int main(){
  int a=5;
  
  printf("%d\n",a);
  
  return 0;
}
출력 결과
5

여기서 %d\n이 생소하게 느껴지실 수 있습니다.  

우선 %d는 출력 형식의 일종인데 부호(+,-)가 있는 정수(Integer)의 출력 형식입니다.

위의 소스에서 변수 a를 출력하고 싶을 때,

printf("a");라고 하면 문자 “a”를 출력하고 싶은 것인지 변수 a를 출력하고 싶은 것인지 컴퓨터가 구별할 수 없기 때문에

printf("%d",a);라고 하여 정수형 변수 a를 출력하는 것입니다.

다음으로, \n은 개행(줄바꿈)문자입니다.

개행 문자 없이 두 변수 a, b를 출력하면 결과는 다음과 같습니다.

#include <stdio.h>

int main(){
  int a=5, b=10;
  
  printf("%d",a);
  printf("%d",b);
  
  return 0;
}
출력 결과
510

하지만 개행문자 \n을 사용한다면,

#include <stdio.h>

int main(){
  int a=5, b=10;
  
  printf("%d\n",a);
  printf("%d",b);
  
  return 0;
}
출력 결과
5
10

결과에서 알 수 있듯이 개행(줄바꿈)이 되어 출력되는 것을 알 수 있습니다.

간혹 \n₩n의 차이를 묻는 분들이 있으신데,

영문 폰트에서는 \로 표시되고  한글 폰트에서는 로 표시될 뿐 둘은 동일한 문자입니다.