728x90
- 📆 학습 날짜
2021.03.03 (수)
- 🕐 학습 시간
8:30 - 10:00 (집)
14:00 - 17:30 (집)
21:00 - 22:40 (집)
- ✓ 학습 목표
- 오늘 목표
* JavaScript
- ft_printf
- return 값을 해결하기!
- 어제 목표
- ft_printf
- return 값을 해결해야한다
- iupxX
- ? 학습 범위 및 주제
- WEB2 : JavScript 19~29
- C 프로그래밍 : 가변함수와 구조체
- 42seoul : ft_printf
- 📝 상세 학습 내용
- JavaScript
- 배열과 반복문 (array, add, get, count)
'+var+'
- css selector, querySelectorAll
- console을 통해 변형시키고 코드에 입력하면 편함
- 함수
- 매개변수와 인자
- 객체! -> 다음에
- Atom 사용시, 코드블럭 색상이 변경되지 않는 문제
- space 바를 통한 해결
-
ft_printf
- return 값 해결
- return 부분에 출력 버퍼들의 길이를 계산하여 넣어주는 것으로 간편하게 해결하였다.
- %d 또 터짐
- 음수가 들어왔을 때 width의 사이즈가 맞지않음 => 인자가 음수일 경우 width -= 1;
- 세그폴트 => return 시 널 체크를 안해줘서 그렇다! 수정 완료
- return 값 해결
-
ptf_2019 테스터기 실행결과
-
%c 통과
-
%s 터짐 => 통과다!!!!
- 세그폴트 : 가변인자로 널이 들어올 경우 터졌다! => 가변인자로 널이 들어올 경우 strdup에서 0을 반환하고 ret에 ("null")을 넣는다.
- width의 사이즈에도 문제가 있다 => precise 후 width 계산으로 해결하였다!
-
%d 터짐 : 음수일 경우가 너무 복잡하다..
- -를 출력 글자로 생각하지 않아서 return 값이 모자람 => 마지막 출력을 가변인자 그자체의 길이로 수정 -> precise로 인한 글자수가 return에 포함되지 않는다..
- -의 출력위치 이상 => 함수 수정 => 0 flag에서도 맨 앞 -여야한다.
- precise로 인한 글자수도 return에 포함
- 화가 난다..
-
%d 새구현
- 가변 인자가 양수일 때와 음수일 때를 나누어서 함수 동작
-
-
%d 구현 성공!!!!!
- ? 추가적으로 공부해야할 내용 (Weekend)
- printf 로직 및 유의사항 정리
- 구현 회고
- 학습내용에 대한 총평
- 테스터기를 돌려가면서 확인하기를 잘했다. 계속 돌려가면서 테스터기에서 걸러지는 부분들을 수정하고 보완해서 완성했다.
- %d 구현은 사실 이렇게까지 복잡하게 구현해야 하나 싶었는데, 기회가 된다면 함수 하나로 음수까지 구현을 다하고 싶다..
- 👉 다음 목표
- norm에 맞게 함수 줄이기...
- ipuxX
- 📚 참고 서적 및 웹사이트
728x90
'공부 > TIL' 카테고리의 다른 글
20210306(토) (0) | 2021.03.07 |
---|---|
20210305(금) (0) | 2021.03.05 |
20210304(목) (0) | 2021.03.04 |
20210302(화) (0) | 2021.03.03 |
20210301(월) (0) | 2021.03.01 |