gpt4 book ai didi

c - 如何 printf long long

转载 作者:太空狗 更新时间:2023-10-29 16:18:53 24 4
gpt4 key购买 nike

我正在做一个近似 PI 的程序,我正在尝试使用 long long,但它不起作用。这是代码

#include<stdio.h>
#include<math.h>
typedef long long num;
main(){
num pi;
pi=0;
num e, n;
scanf("%d", &n);
for(e=0; 1;e++){
pi += ((pow((-1.0),e))/(2.0*e+1.0));
if(e%n==0)
printf("%15lld -> %1.16lld\n",e, 4*pi);
//printf("%lld\n",4*pi);
}
}

最佳答案

%lld是标准的 C99 方式,但这不适用于我正在使用的编译器 (mingw32-gcc v4.6.0)。在此编译器上执行此操作的方法是:%I64d

那么试试这个:

if(e%n==0)printf("%15I64d -> %1.16I64d\n",e, 4*pi);

scanf("%I64d", &n);

我所知道的以完全可移植的方式执行此操作的唯一方法是使用 <inttypes.h> 中的定义。 .

在您的情况下,它看起来像这样:

scanf("%"SCNd64"", &n);
//...
if(e%n==0)printf("%15"PRId64" -> %1.16"PRId64"\n",e, 4*pi);

它真的很丑……但至少它是便携的。

关于c - 如何 printf long long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6400180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com