본문 바로가기
반응형

분류 전체보기145

C039_putnbr만들기 write함수만을 사용해서 정수형을 출력해 보도록 하겠습니다. OdOp_putnbr #include void OdOp_putnbr(int nb) { char c; int i; if (nb == -2147483648) { write(1, "-2147483648", 11); return ; } else if (nb 9) { i = nb / 10; OdOp_putnbr(i); nb = nb % 10; } c = nb + 48; write(1, &c, 1); } 우선 overflow가 나올 수 있는 부분을 처리해 주었습니다. 정수형 최솟값인 '-2147483648'을 양수로 바꾸게 된다면 overflow가 됩니다. 이를 방지.. 2023. 12. 6.
특정 진법 정수로 바꾸기 특정 입력받은 문자열을 정수형으로 변환하는 방법을 알아보도록 하겠습니다. 포스팅을 읽기 전에 이전에 포스팅했던 atoi에 대해 아직 보지 못하신 분은 한번 참고해 주시길 바라겠습니다. https://hig0617.tistory.com/100 만약에 문자열에 공백들이 있으면 이를 제거해 주어야 합니다. 부호가 여러개가 있으면 '-'가 홀수이면 음수로 짝수이면 양수로 부호를 정해 주어야 합니다. 저희는 위의 역할을 해주는 함수를 OdOp_sign이라 정하겠습니다. OdOp_sign char* OdOp_sign(int* sign, char* str) { while (*str == 32 || (*str >= 9 && *str = 9 && base[n] = 9 && *str = 9 && base[n] 2023. 12. 5.
C038_atoi 함수 구현해서 사용하기 atoi는 문자열을 입력받아 이를 정수형으로 변환해 주는 함수를 말합니다. 만약에 문자열에 공백들이 있으면 이를 제거해 주어야 합니다. 부호가 여러개가 있으면 '-'가 홀수이면 음수로 짝수이면 양수로 부호를 정해 주어야 합니다. 저희는 위의 역할을 해주는 함수를 OdOp_sign이라 정하겠습니다. OdOp_sign char *OdOp_sign(char *str, int *sign) { while (*str == 32 || (*str >= 9 && *str = '0' && *str 4 x 10 + 5 -> 45 x 10 + 6 -> 456 x 10 + 2 -> 4562 x 10 + 3 이렇게 진행을 합니다. 그리고 마지막에 sign을 곱해 출력값을 줍니다. 이제 OdOp_sign과 OdOp_number을 .. 2023. 12. 4.
C037_소수점 아래로 n자리까지 출력하기 실수형을 일반적으로 출력하기 위해서는 아래와 같이 출력을 진행하게 됩니다. #include int main() { float num; num = 3.213456; printf("%f\n", num); /*결과 num : 3.213456 */ return 0; } 여기서 특정 자릿수까지만 출력을 하고 싶다면 몇 가지 설정을 더해주면 됩니다. %.nf #include int main() { float num; num = 3.213456; printf("소수점 아래로 0자리 출력 : %.f\n", num); printf("소수점 아래로 0자리 출력 : %.0f\n", num); printf("소수점 아래로 1자리 출력 : %.1f\n", num); printf("소수점 아래로 2자리 출력 : %.2f\n", .. 2023. 12. 3.
반응형