C程序-值未循环添加到向量中

时间:2019-01-24 23:40:55

标签: c

首先,我很抱歉这个问题可能很愚蠢。我创建了一个向量,并试图在循环中向该向量添加新元素。但是似乎循环在第一步停止了。在此先感谢您的帮助。

int n, NT=97;

double *x=malloc(NT*sizeof(double));

x[0]=0;
double dt=30;   
double utem=0.5, dx;

for (n=1;n<NT;n++)

    dx=dt*utem;
    x[n] = x[n-1] + dx;
    printf("x is %6.13f \n", (double)x[n]);   

结果是:x为15.0。 循环在第一步停止。

1 个答案:

答案 0 :(得分:2)

您必须将循环放在方括号中

int n, NT=97;

double *x=malloc(NT*sizeof(double));

x[0]=0;
double dt=30;   
double utem=0.5, dx;

for (n=1;n<NT;n++)
{
    dx=dt*utem;
    x[n] = x[n-1] + dx;
}

printf("x is %6.13f \n", (double)x[n]);