c언어 배우는중인데 대체 뭘 잘못알고있는지 모르겠어.
white space 이것때문에 그런 것 같은데
그니까
gets는 엔터를 데이터 구분 신호?와 입력값으로 생각하고
scanf는 값으론 생각 안하고 데이터구분신호로만 생각하는거 맞아?
white space 는 공백 탭 엔터가 있고..
scanf는 이 세 개가 화이트스페이스??
gets는 엔터가 그거라는데..
왜 겟츠만 입력기회를 안주고 넘어가는 경우가 생기는거야?
무슨 입력버퍼? 이런 말 나오던데 scanf는 입력버퍼를 안 써?
대혼란ㅠㅠ
white space 이것때문에 그런 것 같은데
그니까
gets는 엔터를 데이터 구분 신호?와 입력값으로 생각하고
scanf는 값으론 생각 안하고 데이터구분신호로만 생각하는거 맞아?
white space 는 공백 탭 엔터가 있고..
scanf는 이 세 개가 화이트스페이스??
gets는 엔터가 그거라는데..
왜 겟츠만 입력기회를 안주고 넘어가는 경우가 생기는거야?
무슨 입력버퍼? 이런 말 나오던데 scanf는 입력버퍼를 안 써?
대혼란ㅠㅠ
쉽게 생각해 scanf() 는 입력받을 데이터의 타입을 서식문자로 결정할 수있지
예를 들어 char str[100]; scanf("%s",str);
scanf() 함수를 사용하여 문자열을 입력받으면 공백문자 혹은 엔터까지만 문자열을 입력받는데
gets() 는 엔터 빼고 공백도 입력 가능
스캔 포맷이요
답변감사합니다 그럼 입력씹히는건 왜그런가여ㅠㅠ
입력 씹히는건.. 버퍼때문일 가능성도 있고, scanf("%c",&a)인 경우에는 엔터때문에 씹힐수도 있다... 자세한거는 다음타자에게.