도슐랭스타
C언어-표준 라이브러리 함수 본문
표준 라이브러리 함수(standard library function)
- 컴파일러에서 지원하는 이미 만들어진 함수들의 집합이다. ex) printf()
- 표준 라이브러리 함수를 사용하기 전에는 반드시 선언을 해야 한다.
- 표준 라이브러리 함수들을 미리 선언해 둔 stdio.h(표준 헤더 파일)을 프로그램에 포함시킨다.
printf() 함수
- 출력하는 함수이다.
- printf("%[정렬][폭][.정밀도][크기]서식지정자");
- (" ") : 사이에 출력 문장을 입력한다.
- [정렬] : "-" : 왼쪽 정렬(디폴트는 오른쪽 정렬이다.), "+" : + 부호 표시, "#" : 특별한 형태로 값 출력.
- %#0 : 8진수 앞 0
- %#x : 16진수 앞 0x
- %#e, %#f : 소수점이 없어도 소수점 출력
- %#0n : 공백을 0으로 채움 ex) printf("%#05d", 12) 출력-> 00012
- [폭] : 숫자나 *로 출력값 최소폭을 지정한다.
ex) printf("%*d,3,12") 와 printf("%3d," 12) 둘 다 12(3칸)로 출력됨. - [.정밀도] : 소수점 이하 자릿수를 지정한다. ※소수점도 한 자리를 차지함.
ex) %5.2f -> 전체 자릿수는 5자리이며 소수점 이하의 자릿수는 2자리이다. - [크기] : "ll" : int형이 long long , "L" : 실수형이 long double
- 서식지정자 : d(정수형), c(문자형), s(문자열), f(실수형), lf(double 실수형) 등
scanf() 함수
- 데이터를 입력받아 저장하는 함수이다.
- scanf("%[*][폭][크기]서식지정자")
- [*] : 입력한 내용을 버린다.
- [폭] : 정수값을 지정하여 최대 길이를 지정한다.
ex) %3d로 1234입력 -> 처음 3개인 123만 입력받음. - [크기] : "ll" : int형이 long long, "l" : 정수형은 long, 실수형은 double, "L" : 실수형이 long double
- scanf는 %f가 아니라 %lf로 받아야 한다.
- scanf("%d",&num); 의미-> 키보드로 10진 정수 하나를 입력받아 변수 num에 저장한다.
scanf는 꼭 저장하는 곳 앞에 "&"를 붙여줘야 한다! "&(엠퍼샌드)"는 변수의 주소를 얻을 때 사용하는 연산자이다.
visual studio에서 scanf() 오류
error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 라는 오류가 뜨는데 보안 문제로 2004년부터 추가된 것이다. 해결방법은
- 코드 맨 첫 번째 줄에 #define _CRT_SECURE_NO_WARNINGS을 추가한다.
- scanf()를 scanf_s()로 변경하여 사용한다.
도슐랭스타
★★★☆☆ : 이것도 다 규칙이 있구만!
머리가 아프지만 규칙이 있는 것은 재미가 있다. 그리고 printf에서 공백을 0으로 채우는 건 어떤 상황에서 쓰는 것인지 궁금하여 알아보니 scanf를 쓸 때 공백이 필요하면 사용하기도 한다고 한다.
출처: https://youtube.com/@smilehan8416?feature=shared
Smile Han
www.youtube.com
반응형
Comments