Ciao, sto seguendo lo studio del C tramite un libro dove ci sono codici da imparare (per i nabbi)
tuttavia ogni capita che il libro non descrive accuratamente alcuni passaggi e mi ritrovo a fondere il cervello per capire.
Vi rimando qui una parte di codice che non riesco ad interpretare in maniera semplice come con le precedenti 150 pagine...
#include <stdio.h>
#include <stdlib.h>
#define N 5
int main(int argc, char *argv[])
{
int a[N] = {9, 5, 1, 3, 2};
int i, j, temp;
for (i=0; i<=N - 2; i++)
{
for(j=i+1; j<=N -1; j++)
printf("\t");
}
printf("%d", i);
printf("\n");
system("PAUSE");
return 0;
}
il codice descritto nel libro l' ho tagliato nelle parti che non capisco per migliorare la concezione dei miei dubbi:
ad esempio vorrei sapere perchè se N è definito come costante con valore 5 e nel primo INT parte il conto da ZERO essendo un array, ma nel primo ciclo for (con indice
i) mi viene stampato il risultato 4.
Quindi suppongo che nel primo ciclo N sarebbe un 6 perchè viene sottratto di 2, mentre se nel printf metto l' indice
j al posto di
i mi stampa un 5 come se nel secondo ciclo la N corrispondesse sempre ad un 6.
il problema è che non può essere lo stesso numero 6 visto che nel primo ciclo parte da 0 e nel secondo parte da 1!
Com'è possibile ciò?
Altra domanda:
se il primo indice
i parte contando da 0, il numero 5 non corrisponderebbe all' ultimo numero dell'array, quindi 2?