최대 값 int
을 프로그램에 인쇄하려고합니다. 다음 코드를 : 사용 INT의 최대 값 인쇄
#include <stdio.h>
#include <limits.h>
int main(void) {
printf("%d",INT_MAX);
return 0;
}
내가 얻을 출력은 내 출력 577732524332023807
된다 printf("%lld",INT_MAX);
내 printf
문을 변경할 때, :: 2147483647
하지만. INT_MAX
값이 long long int
범위 내에 있다고 가정하면 long long int
의 올바른 숫자로 INT_MAX
을 변환 할 수없는 이유는 무엇입니까?
사전에 도움을 주셔서 감사합니다.
고마워요 .. :) 그리고 선생님 한 가지는 더 이상'long int'와'int'입니까 ?? 'printf ("% ld", LONG_MAX);를 인쇄하려고하기 때문에'printf ("% d", INT_MAX);와 같은 출력을 주지만, 같은 출력을줍니다. : \ – user007
http://stackoverflow.com/questions/589575/what-does-the-c-standard-state-the-size-of-int-long-type-to-be –
@ user007 : 행동은 구현에 따라 정의됩니다. sizeof (int)와 sizeof (long)를 비교해보십시오. 이들은 컴파일러의 값과 동일한 값을 가져야하지만, C 표준은'sizeof (int) <= sizeof (long int)'만을 말하고'int'는 적어도 2 바이트이고'long int '적어도 4 바이트. –