请问我是想求bai的值,但是显示框里是0.000000,谢谢大佬们啦。

#include <stdio.h>

#include <math.h>

int main()
{
	int sign;
	double pi, deno, part;
	for (deno = 1.0, sign = 1, pi = 0.0; fabs(part) >= 1e-6; deno += 2, sign = -sign) {		
		part = sign / deno;
		pi += part;
	}
	printf("PI的值为:%10.8f", pi * 4);
	
	return 0;
}

 

part初始值是0,for循环一次都进不去,建议可以把这段放在for语句前面

sign = 1;
deno = 1.0;
part = sign / deno;

其他内容不变

应该是part初始值为0,导致一开始fabs(part) >= 1e-6为false,没有进入循环。可以初始化赋值为1

part没有赋值,for循环无效

你的part没有赋初值,就直接进行比较了,导致的结果是for循环没有执行。

这种问题你多调试下就知道