#include<stdio.h>int main(){ int n; double a,b,sum,t; for(n=1;n<=20;n++) { sum+=a/b; t=a; a=a+b; b=t; } printf("%.20lf\n",sum); return 0;} 以上是我编写的代码,但是为什么输出的结果却是负数呢?是数据类型错了吗?
变量定义完了要赋初值啊,a,b,sum由于没有初值,里边的值都是“垃圾值”,也就是没有意义的值c是不支持局部变量自动赋初值的所以的这段程序的运行结果肯定不是你想要的。。。你可以先a = 2;b= 1;sum = 0;一下