<div>#include <stdio.h></div> <div><br></div> <div>int main()</div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>char str[50];</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int idx = 0;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("단어를 입력하세요 : ");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>scanf_s("%s", str, 50);</div> <div><br></div> <div><font size="5"><span class="Apple-tab-span" style="white-space:pre;"> </span><span style="background-color:#c0504d;">while (str[idx] != 0)</span></font></div> <div><font size="5"><span class="Apple-tab-span" style="white-space:pre;"> </span>{</font></div> <div><font size="5"><span class="Apple-tab-span" style="white-space:pre;"> </span>idx++;</font></div> <div><font size="5"><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("%d\n", idx);</font></div> <div><font size="5"><span class="Apple-tab-span" style="white-space:pre;"> </span>}</font></div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("이단어는 %d개의 문자로 이루어져 있습니다.\n", idx);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return 0;</div> <div>}</div> <div><br></div> <div><br></div> <div>영단어를 입력받아서 그 글자수를 출력하는 문제인데요.</div> <div>문자열에서 마지막 null문자를 찾으면 빠져나가고, 그값을 출력하는 식으로 만들었어요.</div> <div>근데 아스키코드값 0이랑 '/0'이 같다고해서( str[8]=0 이랑 str[8]='/0'이 같다고 책에 적혀있더라구요)</div> <div>위에 하이라이트한부분에 0을 '/0'으로 바꿔봤더니 에러가 떠요.</div> <div>뭐가문제인지는 잘모르겠고.. idx값이라도 확인하려고 printf를 넣었는데 '/0'으로 바꾸니까 idx가 1800?가까이 튀어오르더라구요.</div> <div>제가 뭘 잘못알고있는건가요?ㅠㅠ</div> <div><br></div> <div>그리고 두번째로, 제 책이 scanf가 scanf_s로 나오기 전에 출판된거 같은데요. </div> <div>scanf_s는 오버플로우를 방지하기 위해서 문자열의 갯수를 지정해준다고 들었어요.</div> <div>그래서 저는 sizeof(str)=50을 넣었는데, 이거 마음대로 제가 100정도로 줘도 되는건가요? 혹시나해서..</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.