작성
·
328
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));
감사합니다.