#include<stdio.h>
int main()
{
int num1,num2;
scanf_s("%d", &num1);
scanf_s("%c", &num2);
printf("%d %c",num1,num2);
}
이거 실행시켰을 때 위에 정수 부분 받는 것만 실행되고 그다음에 있는 문자 받는건 실행이 안된채 바로 출력문으로 넘어가는데 왜 이럼???
1
1
계속하려면 아무키를 누르시오
이렇게 뜸
#include<stdio.h>
int main()
{
int num1,num2;
scanf_s("%d", &num1);
scanf_s("%c", &num2);
printf("%d %c",num1,num2);
}
이거 실행시켰을 때 위에 정수 부분 받는 것만 실행되고 그다음에 있는 문자 받는건 실행이 안된채 바로 출력문으로 넘어가는데 왜 이럼???
1
1
계속하려면 아무키를 누르시오
이렇게 뜸
num2에 엔터값이 들어간거아닐가 - dc App
첫 번째 scanf받고 엔터 누르면, 엔터 값이 두 번째 scanf에 입력되서 무시하고 넘어가는것임. 간단히 해결할 수 있는 문제는 scanf중간에 flush(stdin)으로 버퍼를 비워주면 해결이 되긴하나. 이게 표준은 아님.
fflush는 절대 쓰지말고 scanf(" %c",&chr) 처럼 %c앞에 한칸띄우면 공백이랑 개행문자 무시해줌