首先,我很抱歉这个问题可能很愚蠢。我创建了一个向量,并试图在循环中向该向量添加新元素。但是似乎循环在第一步停止了。在此先感谢您的帮助。
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。 循环在第一步停止。
答案 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]);