Sort:  

원래 저자리에 문자열 길이 숫자를 넣는 경우가 많은데 이 표현은 약식 표현 같은 걸로 보시면 돼요.
str1[i]은 문자 값을 가지고 있으면 그 값이 참이 되고 가지고 있지 않으면 거짓이 되어 루프문을 빠져 나오게 되지요.
조건문에서 어떤 값을 가지고 있으면 무조건 참이고 없으면 거짓인 것 처럼요.

아, 값이 있을 때까지 참이니깐, 실행되는 거네요. 오호. 그러면 딱 길이가 나오겠네요. 근데 마지막엔 null 값이 들어있어서 1빼준다고 하던데, 여기는 null값이 없나요? ㆍㅅㆍ 그거랑 무슨 차이인가요?

그건 배열로 한번 해당 위치를 if문 조건문으로 찍어보세요. 그래야 그 의미를 할 수 있어요.
'\0' 자체가 거짓입니다. 문자는 아스키코드값이잖아요. 그리고 널 문자는 문장의 끝을 지칭하고요.
그리고 문자열의 길이에서 -1을 빼준다는 의미는 문자열 길이값은 마지막 문자인 널문자까지 포함한 글자의 길이를 의미합니다. 그래서 코딩의 표현에서 마지막 널문자까지 루프를 돌릴 필요가 없기 때문에 1를 빼주는 코딩을 할 수 있고요.

그러면 이렇게 읽어도 마지막엔 널문자가 한 번은 읽히겠네요? ㅇ_ㅇ str[i-1] 이렇게 해도 똑같나요?

그렇게 하면 i는 어떤 값으로 증가하든 감소하든 하기 때문에 거기에 -1을 하면 안돼요. i값은 가변적이기 때문에 알수 없는 수에 -1을 하면은 안되겠지요.
위 식에서 보면 i가 0부터 시작하기 때문에 0-1은 str[-1]이 되겠죠.

아하, ㅇ_ㅇ 그렇군요. 그래서 에러가 났었군요. ㅎㅎㅎㅎㅎ 우왕 ㅎㅎㅎ

곰돌이가 @urobotics님의 소중한 댓글에 $0.017을 보팅해서 $0.006을 살려드리고 가요. 곰돌이가 지금까지 총 3534번 $41.982을 보팅해서 $43.983을 구했습니다. @gomdory 곰도뤼~

곰돌이 감사합니다. ^^ ㅎㅎㅎㅎ

Coin Marketplace

STEEM 0.20
TRX 0.15
JST 0.030
BTC 65144.58
ETH 2627.08
USDT 1.00
SBD 2.83