免责声明,编程新手,通过 C++ Prime Plus 第 6 版工作。
我正在通过清单 3.1 工作。
#include <iostream>
#include <climits>
int main()
{
using namespace std;
int n_int = INT_MAX;
cout << "int is " << sizeof n_int << " bytes." << endl;
return 0;
}
所以我明白了,这会创建一个变量来设置最大 int 值。
但是,有什么理由我不应该也不能去:
cout << "int is " << sizeof (INT_MAX) << " bytes." << endl;
因为它给出了正确的长度。但是当我尝试使用 ( SHRT_MAX
) 时,它返回 4 个字节,而我希望它会返回 2。
再次使用 ( LLONG_MAX
) 它正确返回 8 个字节,但是 ( LONG_MAX
) 错误地返回 8。
任何澄清都会很棒。