GumpYu 发表于 2019-2-18 15:21:09

新手的每日一问

#include <stdio.h>
#include <math.h>
int main()
{
        int a;
        int b;
       
        printf("请输入一个整数:");
        scanf("%d",&a);
       
        b = pow(a,5);
        printf("%d的五次方是:%d",a,b);
       
        return 0;
}




为什么结果显示的是-2147483648int 类型范围不是-2^64—2^64-1 为什么还是会出现结果为负数



BngThea 发表于 2019-2-18 15:44:40

int的范围是未定的,不同的机器可能不一样,这里应该是越界了

GumpYu 发表于 2019-2-18 15:57:24

BngThea 发表于 2019-2-18 15:44
int的范围是未定的,不同的机器可能不一样,这里应该是越界了

谢谢您了,开始用long int 也不行,最后换成long long int 才行{:10_249:}
页: [1]
查看完整版本: 新手的每日一问