Rabrot 发表于 2022-11-27 17:29:24

看看下面的代码为什么不一样

unsigned int a=pow(2,32)-1;       
printf("%u\n",pow(2,32)-1);
printf("%u\n",a);
第一个输出4292870144
第二个输出4294967295

jackz007 发表于 2022-11-27 17:49:27

#include <stdio.h>
#include <math.h>

int main(void)
{
      unsigned int a = pow(2 , 32) - 1                  ;
      printf("%u\n" , (unsigned int) (pow(2 , 32) - 1)) ;
      printf("%u\n" , a)                              ;
}
      编译运行实况:
D:\\C>g++ -o x x.c

D:\\C>x
4294967295
4294967295

D:\\C>
页: [1]
查看完整版本: 看看下面的代码为什么不一样