Windows コンピューターで Codeblocks と GNU コンパイラーを使用しています。コンパイラは、次の条件で実行されます。
mingw32-gcc.exe -Wall -g -std=c11 <filename> -o obj\Debug\main.o
私のコードは次のとおりです。
#include <stdio.h>
#include <limits.h>
int main()
{
printf("INTEGER min: %d\n", INT_MIN);
printf("INTEGER max: %d\n\n", INT_MAX);
printf("UNSIGNED INTEGER max: %u\n\n", UINT_MAX);
printf("LONG INTEGER min: %ld\n", LONG_MIN);
printf("LONG INTEGER max: %ld\n\n", LONG_MAX);
//printf("LONG LONG INTEGER min: %lld\n", LONG_LONG_MIN);
//printf("LONG LONG INTEGER max: %lld\n\n", LONG_LONG_MAX);
printf("UNSIGNED LONG INTEGER max: %lu\n\n", ULONG_MAX);
//printf("UNSIGNED LONG LONG INTEGER max: %lld\n", ULONG_LONG_MAX);
printf("\n");
return 0;
}
このコードの私の出力:
INTEGER min: -2147483648
INTEGER max: 2147483648
UNSIGNED INTEGER max: 4294967295
LONG INTEGER min: -2147483648
LONG INTEGER max: 2147483648
UNSIGNED LONG INTEGER max: 4294967295
LONG LONG 整数を参照する行は、コンパイラがエラーを出していたため、コメント アウトされています。
error: 'LONG_LONG_MIN' undeclared (first use in this function)
error: 'LONG_LONG_MAX' undeclared (first use in this function)
error: 'ULONG_LONG_MAX' undeclared (first use in this function)
ただし、コードを入力している間、CodeBlocks は、LONG_LONG 定数を実際に使用できることを示すコード ヒントを提供しました。したがって、次の質問に対する回答が必要です。
- 整数と長整数の制限が同じなのはなぜですか? long 整数の値の範囲を大きくするべきではありませんか?
- LONG_LONG 定数で問題が発生するのはなぜですか? これは、long long 整数を使用できないということですか?
ありがとう