fgets와 scanf, strlen에서의 차이
fgets는 공백을 포함한 문자열 전체를 받아오고, 개행을 만나면 입력을 중단하고, scanf는 공백이나 개행을 만나면 입력을 마친다 둘의 차이는 fgets는 문자열 마지막에 \n을 포함해서 저장한다. 따라서 a를 입력하고 나서 두 배열의 길이를 비교해보면 fgets로 받은 문자열의 길이는 2, scanf로 받은 문자열의 길이는 1이 된다. https://github.com/surinoel/boj/blob/master/1718.c fgets로 받는 buf는 \0을 포함하여 \n까지 공간을 만들어야 한다. 안한다면 런타임 에러가 난다.
2019. 5. 18. 20:37