Mam taki program:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
/*ZMIENNE*/
int buf;
int tab[30];
int pos = 0;
int suma = 0;
int i=0;
//-------------------PROGRAM---------------------------------------------//
int main(){
FILE *plik;
plik=fopen("data.txt", "rt");
//WCZYTANIE PLIKU DO TABLICY
while(fscanf(plik, "%d", &buf)!= EOF){
tab[pos] = buf;
pos++;
}
while(i<=pos){
suma = suma + tab[i];
i = i + tab[i];
}
printf("%d", suma);
return 0;
}
Tak wygląda plik data.txt:
2
2
1
3
-2
2
-1
1
Dlaczego po wykonaniu sumowania otrzymuję wynik 6? Jeżeli dobrze myślę to powinienem dostać wynik 8.