You are viewing a single comment's thread from:
RE: [C언어] 문자열 길이 구하기
그건 배열로 한번 해당 위치를 if문 조건문으로 찍어보세요. 그래야 그 의미를 할 수 있어요.
'\0' 자체가 거짓입니다. 문자는 아스키코드값이잖아요. 그리고 널 문자는 문장의 끝을 지칭하고요.
그리고 문자열의 길이에서 -1을 빼준다는 의미는 문자열 길이값은 마지막 문자인 널문자까지 포함한 글자의 길이를 의미합니다. 그래서 코딩의 표현에서 마지막 널문자까지 루프를 돌릴 필요가 없기 때문에 1를 빼주는 코딩을 할 수 있고요.
그러면 이렇게 읽어도 마지막엔 널문자가 한 번은 읽히겠네요? ㅇ_ㅇ str[i-1] 이렇게 해도 똑같나요?
그렇게 하면 i는 어떤 값으로 증가하든 감소하든 하기 때문에 거기에 -1을 하면 안돼요. i값은 가변적이기 때문에 알수 없는 수에 -1을 하면은 안되겠지요.
위 식에서 보면 i가 0부터 시작하기 때문에 0-1은 str[-1]이 되겠죠.
아하, ㅇ_ㅇ 그렇군요. 그래서 에러가 났었군요. ㅎㅎㅎㅎㅎ 우왕 ㅎㅎㅎ