"Scrivere in C o C + + è come correre una motosega con tutte le protezioni rimosse ," è una citazione attribuita all'autore Bob Gray. Mentre C non è così pericoloso come suggerisce Mr. Gray , è un linguaggio potente , che fornisce al programmatore accesso a basso livello per l'ambiente di programmazione senza molte restrizioni . Gli autori di C , Brian Kernighan e Dennis Ritchie , dicono , "C mantiene la filosofia di base che i programmatori sanno quello che stanno facendo , ma richiede soltanto che essi dichiarano le loro intenzioni in modo esplicito . " E 'l' affermando esplicitamente che spesso causa problemi ai programmatori . Istruzioni
1
Begin indici di matrice con uno zero in C. Molti programmatori di iniziare l'accesso a un array con array_variable [ 1 ] , che è in realtà il secondo elemento della matrice . Il primo elemento è array_variable [ 0 ] . Lungo le stesse linee , lo stesso programmatore accede quindi un elemento oltre la fine della matrice . Per una matrice di 10 elementi , i pedici vanno da 0 a 9, non da 1 a 10. Accesso numero indice 10 è l'accesso alla undicesimo elemento della matrice, che non esiste . Involontariamente accedere alla memoria al di fuori delle variabili previste può provocare un programma in modo anomalo - . Mai una buona cosa
2
inizializzare le variabili prima di utilizzarle. Un errore comune nella programmazione C è usare una variabile prima memorizzare nulla nella variabile , che è particolarmente fastidioso quando si tratta di puntatori . Per esempio, se si desidera che la somma di una serie di numeri inseriti dall'utente , assicurarsi di inizializzare la variabile somma per iniziare da zero . Mentre le variabili continue e globali di default a zero, le altre variabili non fanno.
3
Utilizzare costanti simboliche o variabili costanti per evitare di numeri casuali nel corpo del vostro programma . Ad esempio, qualora da una schiera di elementi 15 , creare una costante simbolica per le dimensioni della matrice piuttosto che utilizzare il 15 nel corpo di un ciclo . Se si modifica la dimensione dell'array , è necessario solo cambiare la costante simbolica . Questo evita l' errore di programmazione C di aumentare la dimensione di un array , ma dimenticando di elaborare tutti gli elementi a causa di una costante nel ciclo for .
4
confrontare i valori con un == in C. L' = simbolo viene utilizzato per le assegnazioni non paragoni ed è un errore difficile da trovare in un programma. Un'istruzione if che controlla se il denominatore è zero prima di eseguire una divisione dovrebbe essere simile a questo :
se ( denominatore == 0 ) printf ( "Errore - non può dividere per zero \\ n" ) ; < br >
la dichiarazione :
se ( denominatore = 0 ) printf ( "Errore - non può dividere per zero \\ n");
imposta la variabile denominatore a zero, poi fallisce il se verificare poiché assegnazioni assumono il valore di ciò è assegnato , zero in questo caso . Ora avete creato il problema è stata selezionata per la ; denominatore è zero , perché lo si imposta a zero
.