코딩/기타 2

[C] 문자열 끝까지 반복문을 돌리는 법

크게 두 가지 방법이 있습니다. I. NUL 문자를 읽기 전까지 반복하기 c언어에서 문자열을 저장하게 되는 경우를 생각해 봅시다. str[] = "Hello"와 같이 저장할 때, 메모리 공간에는 str[0] str[1] str[2] str[3] str[4] str[5] H e l l o \0 과 같이 저장됩니다. 이때 맨 끝에 있는 \0이 널 문자로, 문자열의 끝을 나타내는 특수 문자로 쓰입니다. 문자열의 끝을 나타내는 문자 전의 인덱스까지만 반복하도록 코드를 작성하면 됩니다. int i = 0; char str[10] = "Hello" while (str[i] != NULL){ // blah blah blah i++; } 출처 : http://www.ktword.co.kr/test/view/view.p..

코딩/기타 2022.10.03

[C] 소수로 된 시간 계산하기 (+ 실수에서 오차가 생기는 이유)

친구한테 코딩 질문을 받아서 해결 과정을 적어보게 되었습니다. 문제는 다음과 같았습니다. 3.76 시간을 시간 : 분 : 초 형식으로 출력하시오. #include int main(void){ int hour, min, sec; double time = 3.76; //... return 0; } 출력값 : 3.76시간은 3시간 45분 35초입니다. 해결 방법은 아래와 같습니다 : 더보기 더보기 우선 hour 변수에는 3.76의 정수 부분인 3이 들어가야겠죠. hour = (int) time; // 또는 hour = time / 1 으로 정수 부분이 들어가게 합시다. 계산을 수월하게 하기 위해 time 변수에서 정수 부분을 빼 주어 소수 부분만 남도록 해 줍시다. time -= hour 이러면 3.76 - ..

코딩/기타 2022.10.02