c++ -1이 포함된 형태의 cin에서 char로 받는것의 부적절성에 관하여.

이러한 토마토 7569번 문제를 보았을때, 지속적으로 char 형식으로 받는 문제들을 보다보니까. -1은 char로 어떻게 받아야 하는지에 대해서 고민하게 되었다. 내 기억상 char c='-1'; 이라고 받으면 분명 오동작을 하여서 그때의 기억과 현재의 상황을 떠올려보았을때 어떤식으로 해야할지 알아보니, 

이런 문제의 경우 -1이 있는건 char로 받으면 안되고, int로 받아야 하는 형태라는 것과, 그리고 char로 -1을 받는 것에 대해서 gpt에 질문한 내용을 첨부해보면, 

 

이렇듯 그냥 char로 -1을 받아선 안되고, 만약 받으려면 unsigned char로 받아야 하고, 그렇게 받는거보다 알고리즘 문제거나 출력 형태에서 int로 처리하는것이 더욱 적절한 방법이라는것을 알게되었다. 

-1의 경우 정말 주의하도록 하자. 생각없이 char c='-1'을 해서는 안된다. 

-1이 있는 경우 int로 받자. 

 

  Comments,     Trackbacks