Innholdsfortegnelse:
Video: ERRORES COMUNES + SOLUCIONES!! En Programación Declarativa + PROLOG!!?? 2024
Når du ikke kan finne ut hva som skjer med et C-program, og du ikke vil kjøre det gjennom debuggeren (eller når du ikke inkludere debugging build-alternativet), kan du bruke printf () og puts () -funksjonene som debugging-venner.
Slik dokumenterer du problemer
Anta at koden har en funksjon som mottar variabel x , men på en eller annen måte vises variabel x aldri opp. Sett inn følgende linje i koden:
printf ("verdi av 'x' på linje 125:% dn", x);
Denne setningen kan faktisk vises på flere steder, og sporer verdien av variabel x ettersom den beveger seg gjennom koden din. Gitt, bruk av klokker vinduet med debugger på ville være bedre, men noen ganger bruker printf () er mye raskere.
Hvis du ikke sporer en variabel, og du bare vil vite hvorfor et stykke kode ikke kjøres, sett inn en puts () setning, noe som dette:
setter ("Du må her");
Når du ser den forrige teksten i utgangen, vet du at koden er nærmet, men fortsatt ikke utført. Det er når du snakker gjennom koden, se etter et dobbeltlikt tegn når du mente å bruke et enkelt likestilt, og prøv andre triks.
Selv om å sette inn en printf () eller puts () setning i koden din, kan det ikke være så grasiøst som å bruke en debugger, og det sier absolutt ikke "Problemet er her," det er ikke en dårlig jobb. Bare husk å trekke utsagnene tilbake igjen!
Slik lagrer du kommentarer for fremtiden-du
En annen ting du kan gjøre for å hjelpe til med å rette opp uønsket vei, er bare å beskrive problemet i koden ved å bruke kommentarer. Det kan ikke løse problemet nå, men for fremtiden - du ser på koden nedover linjen, det er en ekte hjelp; det slår prøver å oppdage boo-boo igjen.
For eksempel:
for (y = x + a; yI dette eksemplet minner notatet fremover at uttalelsene ikke gjør hva de er ment for, meg et forslag til hva du skal se etter i en løsning.
Du kan også bruke kommentarer til å tilby fremtidige forslag til hvordan du kan forbedre koden, ting å stramme opp eller nye funksjoner du ikke har tid til å legge til for tiden