#include <iostream>
using namespace std;
int main()
{
if(sizeof(int)> -1)
cout<<"ok";
else
cout<<"not ok";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
int的大小不是应该是4吗,它应该大于-1。
两件事情:
sizeof(int)可以是任何正整数值。(我曾经开发过一个系统sizeof(char),其中sizeof(int)、 和sizeof(long)均为 1 并且均为 64 位类型。)
返回的类型是无符号类型。sizeof与 比较时-1,-1被转换为无符号值,具有高幅度。几乎肯定会比sizeof(int)这个少。