让我们假设我有一个C脚本,并且声明了一些unsigned int。然后,我编写一个while循环,它会自动增加这些值并将其打印出来:在用户将其从命令行中停下来之前没有限制。一旦我达到非常高的数字(20亿),计算机就从数百亿开始计算。我怎样才能防止这一点?看,我可以轻松地键入,比如说,“99999999999999”,而不会造成任何崩溃:为什么我不能在我的32位终端上执行此操作?我已经尝试了很长很长的int,签名和未签名,但我仍然有这个问题。下面是截图:http://img577.imageshack.us/img577/6558/schermata20110524a01012.pngsigned/unsigned int
感谢, J.
C不是一种脚本语言。 ;) – 2011-05-25 01:58:32
您可能正在使用未签名的存储,但您将其打印为已签名。如果您使用printf使用%u而不是%i或%d。 – ughoavgfhw 2011-05-25 02:01:34