실제로 scanf 입력에서는 enter값 위치에 00 값으로 대치한다. fgets도 입력한 값 다음에 00값을 넣는다. scanf는 aa\x0a -> aa\x00 fgets는 aa\x0a -> aa\x0a\x00 fgets(buf,10,stdin)는 a*10 -> 'a'*9+"\x00"로 처리한다. 이런 말을 하는 이유는, 아래에 설명할 메모리 릭은 \x00 처리를 해주지 않는 read 함수라는 예를 통해 일어나기 때문이다. ----------------------- Source ----------------------- #include
원문 링크 : 쉬운 카나리 릭