인프런 커뮤니티 질문&답변

apple269님의 프로필 이미지
apple269

작성한 질문수

홍정모의 따라하며 배우는 C언어

4.10 scanf() 함수의 사용법

7분30초부터 8분까지 구간에서 이해가 가지 않습니다

작성

·

189

0

 
unsigned int가 가질 수 있는 값은 0 ~ 4,294,967,295 이 사이인데 음수인 -123은 저장할 수 없는 것이 아닌가요? 제가 어느 부분을 잘못 이해하고 있어서 생긴 의문인가요?

답변 3

1

맞습니다.

 

강의에서 설명드렸듯,

signed(%i)로 입력을 받았기 때문입니다.

 

unsigned 로 할당한 크기의 공간에 signed 형식으로 입력을 받았기 때문에

unsigned 로 할당한 크기의 메모리 공간에

signed 정수가 저장되는 것이지요.

 

 

0

그래서 메모리에 저장되어있는 signed정수 형태의 값을 %i로 출력해서 문제가 없는 것이고, unsigned인 %u 형식지정자로 출력할 때 오류가 나는 거군요?

0

apple269님의 프로필 이미지
apple269
질문자

혹시 %i에 저장되는 것이기에 상관이 없는건가요?

apple269님의 프로필 이미지
apple269

작성한 질문수

질문하기