我有一个从 0 到 65535 循环的大量数字(我选择 16 位只是为了有一个很好的截止点)。我正在递增一个 int,并且有一个 if 语句检查 int 是否为 65536。如果是,它将 int 设置为 0;如果是,则将 int 设置为 0。有点笨拙,但它有效。我知道只使用一个 short int 并让它溢出会更有效,但我最初没有这样做,因为不能保证一个 short 是 2 个字节,这很有可能。
这是在 linux (ubuntu) 机器上运行的 C 代码。如果我要使用一个简短的,后来决定在另一个操作系统上运行这个程序(或者说,在 64 位机器上运行它,因为我现在正在 32 位机器上进行测试),是否有一个很好的机会我的short仍然是2个字节?我可以很容易地在几台不同的机器上测试它,但是这里的一些人使用过很多电脑。有什么可怕的陷阱我应该提防吗?