• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

띄어쓰기한후 글이 출력이 안되는 이유

18.03.16 00:49 작성 조회수 228

0

char str[256];

scanf_s("%s", str, sizeof(str));

printf("%sn", str);

return 0;에서

실행하고 문자를 입력하는데 띄어쓰기를 한 후의 문자들이 출력 안되는 이유를 알 수 있을까요?

답변 1

답변을 작성해보세요.

2

안녕하세요, 나도코딩입니다. ^^

문자열 입력 시 공백으로 구분을 하도록 되어 있어서요, '일 이 삼' 으로 입력하는 경우 일, 이, 삼에 대해 각각의 문자열로 인지하게 되므로 띄어쓰기 직전까지만 입력받게 되는 것입니다.

이를 피하기 위해서는 아래와 같이 작성하시면, 문장의 끝을 나타내는 역슬래시 n (\n) 을 만날 때까지는 띄어쓰기를 포함하여 계속하여 입력을 받을 수 있습니다.

scanf_s("%[^\n]s", str, sizeof(str));

감사합니다.