Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Začnite poľa indexov s nulou v C. Mnoho programátorov začať prístup polia s array_variable [ 1 ] , ktorý je vlastne druhý prvok poľa . Prvým prvkom je array_variable [ 0 ] . Pozdĺž rovnakých liniek , rovnaký programátor potom pristupuje jeden prvok za koncom poľa . Pre niektoré z 10 prvkov , indexy v rozmedzí od 0 do 9 , a to 1 až 10. Prístup index číslo 10 je prístup na jedenástu prvok poľa , ktorý neexistuje . Neúmyselne prístup pamäti mimo ich menovaných premenných môže spôsobiť program ukončiť abnormálne - . Nikdy dobrú vec
2
Inicializácia premenných pred ich použitím . Častou chybou v programovaní C je použiť premennú pred uložením niečo v premennej , ktorá je zvlášť nepríjemné pri rokovaní s ukazovateľmi . Napríklad , ak chcete , aby súčet rady čísel zadané užívateľom , uistite sa , že inicializovať premennú čiastku začať od nuly . Zatiaľ čo konštantná a globálne premenné predvolené nulu , ostatné premenné nie .
3
použite symbolické konštanty alebo konštantné premenné , aby sa zabránilo náhodných čísel v tele programu . Napríklad , ak je spracovanie 15 prvkov poľa , vytvoriť symbolický konštantu pre veľkosť vášho poľa , skôr než s použitím 15 v tele cyklu for . Ak zmeníte veľkosť vášho poľa , budete musieť zmeniť iba symbolickú konštantu . Tým sa zabráni programovací chyba C zvýšiť veľkosť poľa , ale zabudol spracovať všetky prvky , pretože konštanta pre sláčiky .
4
Porovnajte hodnoty s == v C. = symbol sa používa pre priradenie nie porovnávanie a je zložité nájsť chybu v programe . If , ktorý kontroluje , či menovateľom je nulová pred vykonaním rozdelenia by mal vyzerať takto :
if ( menovateľ == 0 ) printf ( " Chyba - nedá deliť nulou \\ n" ) ;
vyhlásenie :
if ( menovateľ = 0 ) printf ( " Chyba - nedá deliť nulou \\ n" ) ;
nastaví premennú menovateľa k nule , potom sa nepodarí, ak skontrolovať , pretože úlohy sa na hodnotu toho , čo je priradená nula v tomto prípade . Teraz ste vytvorili problém si skontrolovať na , menovateľ je nula , pretože si to nastaviť na nulu
.