c array
-
#include <stdio.h>
/**
This program demonstrates a simple wave function.
du/dt + lamda * du/dx = 0
/
int main(int argc, char argv[])
{
double coord[100];
double tStep;
int steps;
double ub[100];
int i, j;tStep = 0.001;
steps = 100;for (i=0; i<100; i++) {
coord[i] = 0.0;
ub[i] = 0.0;
};for (i=0; i<steps; i++) {
for (j=100; j>=1; j--) {
ub[j] = 0.000002+ ub[j-1];
};
};
printf("n: %d , coord[0]: %f\n",i, coord[0]);}
Hallo zusammen,
mit obenliegendem Programm bekomme ich coord[0]=0.0002, wobei ich 0.0 erwarte.
Hat jemand eine Idee, woran kann es liegen?
-
for (j=100; j>=1; j--) { ub[j] = 0.000002+ ub[j-1]; }
Das erste Element ist ub[0], dass letzte daher ub[99].
ub[100] ist vermutlich im Speicher zufällig coord[0].
-
1. bitte Code-Tags benutzen. sfds
2. bitte keine Crossposts: http://www.c-plusplus.net/forum/viewtopic-var-p-is-1574143.html#1574143