예를 들어
int main()
{
int n;
scanf("%d", &n);
//뭔가 계산하는 코드
return 0;
}
이런식의 코드가 있을때 입력값이 int보다 클수도 있자너?
그럴때 입력값이 너무 크면 오작동하잖아
그런경우 에러메세지를 넣고싶다 그럴때 어떻게 알아차림?
그런데 scanf함수 자체도 값이 오바되거나 아니거나 상관없이 리턴값이 그냥 1로나오네?
어쨌든 이런거 어케 처리함?
int main()
{
int n;
scanf("%d", &n);
//뭔가 계산하는 코드
return 0;
}
이런식의 코드가 있을때 입력값이 int보다 클수도 있자너?
그럴때 입력값이 너무 크면 오작동하잖아
그런경우 에러메세지를 넣고싶다 그럴때 어떻게 알아차림?
그런데 scanf함수 자체도 값이 오바되거나 아니거나 상관없이 리턴값이 그냥 1로나오네?
어쨌든 이런거 어케 처리함?
carry flag ?
http://www.velocityreviews.com/forums/t445553-integer-overflow-in-scanf-functions.html
http://www.velocityreviews.com/forums/t445553-p3-integer-overflow-in-scanf-functions.html
scanf가 반환하는건 입력받은 파라미터의 갯수. -1은 EOF
http://crasseux.com/books/ctutorial/String-overflows-with-scanf.html
답변 달아준 횽들 고마워