看看我这个有什么问题吗


#include<stdio.h>

int main()
{
    int n=1,a=2,b=1,c=3;
    double term=1;
    while(n<100)
    {
        n++;
        term*=(a*a)/b/c;
        a+=2;b+=2;c+=2;
    }
    printf("%.20f\n",term*2);
}

该问题楼主已解决,不用再看了。

先讲点C语言常识。C语言对变量的类型要求很严格。对子程序的返回类型要求也颇多。这就导致如果变量定义,传递有错误,直接返回值为0。

举几个例子。

1,长浮点向整数转换

int a;

double b=0.42586;

a=(int)b;

printf(”a=d%”,a);

输出a=0;

2,强制取整函数INT

float f=0.786;

INT(f)值是0