[블로그 이전]

2021.01.18

scanf를 연달아서 쓰게 되면 %c를 입력받을 때 오류 발생할 수 있음.

ex)

scanf("%d",&a); scanf(%c",&c);

이 경우 버퍼에 문제 발생한 것.

위에서 a를 입력받을 때 \n까지 같이 입력받아서 이를 c로 인식하는 것.

따라서 c를 입력받지 않고 프로그램이 종료 됨.

<해결법>

1. %c 앞에 띄어쓰기 붙인다.

scanf(" %c",&c);

----> 가끔 안될 때 있음. 이유 모름

2. buffer을 비워준다.

while(getchar()!='\n');

----> 위의 구문을 추가해 준다.

----> 이 오류는 자주 발생할 수 있으므로 처음에 DEFINE 해놓고 쓰는 것도 유용.

#define FLUSH while(getchar()!='\n'); int main(){ scanf("%d",&a); FLUSH; scanf("%c",&c); }

🎀---> 가끔 이때문에 시간초과가 날 수도 있다!!!

ex) for문 안에서 FLUSH를 쓰면 마지막 입력 받은 후에 불필요한 FLUSH를 위해 입력을 기다려야 함

--> 시간초과

 

'⚙️C,C++' 카테고리의 다른 글

[C++] vector 사용법  (0) 2025.02.20
[C++] C++ 기본  (0) 2025.02.20
[C] 재배열 문제  (0) 2025.02.20
[C] 입력 이슈들  (0) 2025.02.20
[C] 출력 이슈들  (0) 2025.02.20

[블로그 이전]

character 출력

2021.01.18

 
char a;
printf("%c",&a);

char str[10];
printf("%s",str);

 

charcter 한 글자 출력 시 ---> & 연산자 꼭 필요!!

string 출력 시 ---> 불필요


부호 출력

2021.01.18

printf("\\");
printf("\"");
printf("\'");
printf("%%");

<결과>

---> \(역슬래쉬, 원화 표시 아님)

---> "

---> '

---> %

 

'⚙️C,C++' 카테고리의 다른 글

[C++] vector 사용법  (0) 2025.02.20
[C++] C++ 기본  (0) 2025.02.20
[C] 재배열 문제  (0) 2025.02.20
[C] 입력 이슈들  (0) 2025.02.20
[C] scanf("%c"); 오류  (0) 2025.02.20

[블로그 이전]

2021.01.03

 

switch(a){
    case 1: //something;
    //break; or continue; or //
}

 

* break;

----> switch문을 빠져나옴.

* continue;

----> 아래의 case를 무시하고 다시 조건식으로 돌아감.(처음으로)

 

.initial commit

 

기술 블로그를 오픈합니다.

기존 네이버 블로그에서 작성하던 글 이전 중

+ Recent posts