Weierstrass ha scritto:
Esistono (e sono usate) le flag per rendere no-init anche le globali, quindi è cattiva programmazione non esplicitare il valore zero, visto che poi parti subito con un scanf("%d", &n1[ i ]). Sei poi incoerente con te stesso, dato che subito dopo scrivi for(i=0;i<9;i++) invece di for(;i<9;i++)
Occhio che l'autore del codice degli orrori non sono io.
Per altro mi pare che ti atteggi a maestro e di C ne capisci zero.
Oltre al fatto che lo std C definisce che le variabili non inizializzate vengono messe a 0 (non dal programmatore), le globali
int a = 0;
Sono oltre che inutili totalmente vietate in diverse community, addiritura gli script di controllo codice ti segnalano di togliere l'inutile "= 0". Ma se vuoi star felice, int a = 0; e' totalmente lecito, usalo se ti va, puo aiutare chi non conosce il C.
Weierstrass ha scritto:
Sei poi incoerente con te stesso, dato che subito dopo scrivi for(i=0;i<9;i++) invece di for(;i<9;i++)
Non capisco di cosa parli. questo codice e' un codice degli orrori, inutile spenderci tempo.
Weierstrass ha scritto:
Quindi? Dobbiamo fare noi unit test? Fai la trasformazione inversa e controlla che la composizione tra la trasformazione e la sua inversa sia la funzione identità, su un sottoinsieme ragionevole dei valori del dominio.
Idem, non si capisce nulla.
Weierstrass ha scritto:
Che vuol dire?
Vuol dire che non hai idea di C. Se non si incrementa la variabile i prima del loop, cosa serve il for loop ? Sempre che io non abbia letto male il codice degli orrori, in quel caso vuol dire che devo mettere gli occhiali.