개발 공부
cin과 scanf 본문
코딩테스트를 준비하며 다른사람들의 풀이를 살펴보면 C++에서 cin보다 scanf를 사용한 경우를 많이 볼 수 있었다.
학교에서 배운 기억으로는
C++에서의 표준입력은 cin으로 알고 있었는데
cin과 scanf에는 무슨 차이가 있는지 찾아 보았다??
1. cin
- iostream헤더 파일에 입력 스트림을 나타내는 객체로 정의
- 문자열, 수, 문자 등 다양한 데이터형을 서식문자 없이 변수형에 맞게 자동으로 입력해준다.
- cin은 키보드로 입력한 값을 저장할 변수가 받아들이는 형태로 알아서 바꿔서 저장한다.
cin과 scanf의 차이점
- 알고리즘 문제 해결에 있어서, scanf와 printf가 입출력 속도가 훨씬 빠르다고 한다
- whitespace의 저장에도 차이가 있는데 cin은 문자를 받을 때 무시하고 저장하지만 scanf는 저장한다고 한다.
(whitespace : 스페이스와 탭, 줄바꿈, 자동줄바꿈을 처리할지 정하는 속성)
추가로
C++에서도 C와 동일하게 <stdio.h>라이브러리를 통해 scanf를 사용할 수 있음
* <cstdio> : C언어의 stdio.h와 같다고 함.
stdio.h와 cstdio는 기능상의 차이는 없으나
stdio.h : global namespace를 사용하고
cstdio는 std라는 namespace를 상ㅇ한다고 함
'코딩 테스트 준비 > c++' 카테고리의 다른 글
이차원배열 입력받기! (백준- 행렬덧셈 feat.파이썬 print 옵션) (0) | 2022.11.04 |
---|---|
검증수 (제곱 구하기) (0) | 2022.11.04 |
백준 사파리 월드 (절댓값구현) (0) | 2022.11.04 |
c++ 백준 긴자리계산 답이 왜 길까??? (feat. 파이썬) (0) | 2022.11.03 |
c++ 백준 - 엄청난 부자2 (1) | 2022.10.19 |