请帮我看看这个代码哪里错了,想数2的n次方的和,等比

#include
#include
using namespace std;
int main()
{

double i,d,f,l;

cin>>d;
for(i=1;i<=d;++i)
{
f=pow(2,i);
l=l+f;
}
cout<<l;

}

有什么问题?
for循环,i定义成整型
另外l要初始化为0

变量l没有初值,所以一开始是个随机值
把变量l付一下初值即可
double i,d,f,l = 0f;
代码修改如下
有帮助望采纳

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    int i, d;
    double f, l = 0;

    cin >> d;
    for (i = 1; i <= d; ++i)
    {
        f = pow(2, i);
        l = l + f;
    }
    cout << l;
}