大佬们:棋盘上的麦粒,n取值范围是1-64,但是输入64就错误了。啥问题啊

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

int main()
{
    int n,i;
    unsigned __int64 sum=0;

    scanf("%d",&n);
    for(i=0;i<n;i++)
        sum += pow(2,i);
    printf("%Iu\n",sum);

    return 0;
}

你是使用什么IDE?Visual Studio 2019 编译运行正常。不过 scanf 要改成 scanf_s