문제
리뷰
인덱스가 10번째가 됬을 때 마다 개행문자를 출력하려고 했었는데, 잘 안됬다.
다른 분들 코드를 보면서 scanf 함수에서 특정 길이까지 읽어들일 수 있는 서식문자가 있다는 것을 알게됬다!
scanf 의 서식문자
scanf의 서식문자로는 c 문자, s 문자열, p 포인터, d 10진 정수 등 이 있다.
%와 서식문자는 반드시 명시해야 한다.
그리고 폭을 지정하거나 포인터의 형을 지정할 수 있는 등의 옵션이 있다.
#include <stdio.h>
int scanf(const char *format [,address ...]);
폭 지정
%와 서식 문자 사이에 정수값을 삽입하면, 입력값 중 읽어들일 최대 길이를 지정할 수 있다.
scanf("%10s", &A);
검색 문자 지정 (search_set)
배열 주소에서, 특정 조건에 따라 읽어들이는 방법을 제공한다.
[ ] 안에 쓴 문자들만 읽어들여 입력받는다. 즉, h, i, j, k 문자들만 입력받는다.
이외의 문자들이 입력되면 입력을 중단한다.
문자 맨 앞에 ^ 기호를 붙이면, x, y, z를 제외한 문자들만 입력받는다.
char A[102]; scanf("%[hijk]", A); scanf("%[^xyz]");
코드
#include <iostream>
using namespace std;
char A[102];
int main(void){
while(scanf("%10s", &A) != EOF){
printf("%s\n", A);
}
return 0;
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
스택 수열 백준 1874번 (0) | 2020.08.26 |
---|---|
2007년 백준 1924번 (0) | 2020.08.25 |
그대로 출력하기 백준 11718번 c++ (0) | 2020.08.24 |
정수 삼각형 백준 1932 (0) | 2020.08.22 |
연속합2 백준 13398 (0) | 2020.08.22 |