简单讲述数的溢出

  • Post author:
  • Post category:其他


编者来简单谈一个当初编者初学c语言的小错误:

数的溢出:

首先我们来看以下代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
  **int tum;**
  tum=1;
  for(int i=1;i<=100;i++){
    tum*=i;
  }
  printf("%d\n",tum);
}

初看起来没有问题,但是当你运行的时候,你会发现有惊喜。

这是咋回事呢?首先我们需要明白int变量的范围是多少 (:-2147483648 ~ 2147483647)而上述程序我们要求100!这将超出其范围

修改后的代码

int main()
{
  **double tum;**
  tum=1;
  for(int i=1;i<=100;i++){
    tum*=i;
  }
  printf("%f\n",tum);
}



版权声明:本文为weixin_43824027原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。