1.0 > -1.0 은 당연해보이지만 때에 따라 아닐 수가 있음unsigned double a=1.0;if( a > a-2.0 ) // 거짓!!unsigned 는 부호없는 자료형이기 때문에 a-2.0을 하면음수가 되지않고 엄청 큰 수가 됨
unsigned 를 쓸 때는 주의를 기울어야 함. 특히 마이너스 연산할 때 저런 문제가 생기기 때문에 연산용으로는 int 쓰는게 일반적.
그걸 모를 수가 있음? 입문자면 사용할 일이 없을꺼고, unsigned가 나 같은 초보자면 0또는 양수만 있는 범위라는것과 , 스택 오버플로우를 모를 수가없을껀데
저건 걸로 트릭을 쓰기도 함. unsigned int i = -1; 이런 식으로.
어떤 값이 나오나 printf 로 출력해보삼
좆스트는 저거 안되더라
그런 실수는 하는 듯. 차라리 저런 if문 보다는 unsigned로 범위 걸어놨다가 값이 초과하는 현상
해당 댓글은 삭제되었습니다.
허수라 ㅈ송합니다^^