Hjem Personlig finansiering Bryter ut av et uendelig løp i ditt C-språkprogram - dummies

Bryter ut av et uendelig løp i ditt C-språkprogram - dummies

Video: Wormholes Explained – Breaking Spacetime 2025

Video: Wormholes Explained – Breaking Spacetime 2025
Anonim

Når du kommer inn i programmeringsløkker på C-språket, oppdager du gleder og frykt for uendelige, eller uendelige , looper. Disse løkkene fortsetter for alltid, fordi enten programmøren glemte å inkludere en måte å gå ut av løkken eller avslutningsforholdet er bare aldri møtt. Uansett er uendelige løkker en smerte.

Men noen ganger inneholder et C-program en endeløs sløyfe med formål. Denne typen konstruksjon kan virke merkelig, men grunnlaget for mange moderne programmer er at de sitter og spinner mens de venter på at noe skal skje. Sløyfen kan se slik ut:

for (;;) {check_Keyboard (); check_Mouse (); check_Events (); check_System ();}

Legg merke til at forholdene i parentes etter at søkeordet mangler, noe som er greit. Resultatet er en endeløs sløyfe der uttalelsene blir kontrollert flere ganger, den ene etter den andre: Programmet ser etter aktivitet et sted. Når aktiviteten er funnet, går programmet av og gjør noe interessant. Men mesteparten av tiden sitter programmet bare i denne typen loop og venter på at noe skal skje. (Den typiske tekstprosessoren kan utføre tusenvis av disse sløyfer som den venter mellom tastetrykk mens du skriver.)

Skriv inn denne kildekoden og lagre den på disk. Deretter kompilere og kjøre programmet:

#include int main () {char ch; setter ("Typing Program"); setter ("Type bort:"); for (;;) {ch = getchar ();} retur (0);}

Ja, du kan skrive. Og du kan se teksten din på skjermen. Men hvordan stopper du?

For å stoppe må du bryte den endeløse sløyfen, som kan gjøres ved å trykke Ctrl + C. Men det er ikke slik du vil at programmene skal fungere. I stedet må en utgangstilstand defineres for sløyfen, som er hvor bruddordet kommer inn i spill.

C-språkutviklerne visste at i noen tilfeller må en sløyfe brytes basert på forhold som ikke kunne forutsettes eller sattes opp i setningen. Så, i deres visdom, introduserte de break-søkeordet.

Hvilken pause gjør det er å straks slutte en sløyfe (en C-språkløkke, ikke bare for sløyfer). Når datamaskinen ser pause, antar det bare at sløyfen er ferdig og fortsetter som om sløyfens slutt tilstand ble oppfylt:

#include int main () {char ch; setter ("Typing Program"); setter ("Skriv bort; trykk '~' for å slutte:"); for (;;) {ch = getchar (); hvis (ch == '~') {break;}} returnere (0);}

Nå er en utgangstilstand definert. Hvis sammenligningen i Linje 12 kontrollerer for å se om et ~ (tilde) tegn er oppgitt. I så fall stoppes løkken av pauseoppsigelsen.

Endre kildekoden din slik at den samsvarer med det som bare ble vist. Kompilere og løp. Nå kan du stoppe programmet ved å skrive ~ tegnet.

Merk at if-setningen også kan skrives uten braces:

hvis (ch == '~') bryter;

Denne linjen kan være litt mer lesbar enn å bruke braces.

Bryter ut av et uendelig løp i ditt C-språkprogram - dummies

Redaktørens valg

Hvordan beskrives et datasett statistisk for GEDs vitenskapstest - dummies

Hvordan beskrives et datasett statistisk for GEDs vitenskapstest - dummies

GED Science test vil stille spørsmål relatert til beskrivende statistikk. Du kan ofte oppsummere en samling av data (fra et eksperiment, observasjoner eller undersøkelser, for eksempel) ved å bruke beskrivende statistikk, tall som brukes til å oppsummere og analysere dataene og trekke konklusjoner fra det. Beskrivende statistikk for en samling av data inkluderer følgende: Frekvens: ...

Hvordan forutsi en utgang basert på data eller bevis på GED-vitenskapstesten

Hvordan forutsi en utgang basert på data eller bevis på GED-vitenskapstesten

Bruk av bevis for å forutsi utfall er en nødvendig ferdighet for GED Science-testen. De største fordelene med vitenskapelige studier kan ofte tilskrives det faktum at deres konklusjoner gjør det mulig for folk å forutsi utfall. (Du vil sikkert ønske vitenskap kan hjelpe deg med å forutsi utfallet ditt på prøve!) Du er vitne til vitenskap i handling hver dag ...

Hvordan man måler en forfatters troverdighet for GEDs samfunnsstudietest - dummies

Hvordan man måler en forfatters troverdighet for GEDs samfunnsstudietest - dummies

GED Social Studies test vil stille spørsmål som krever at du bestemmer troverdigheten til en forfatter. Det er ikke alltid lett å vurdere om en forfatter er troverdig basert på informasjonen som er gitt i en skriftlig oversikt og referansen, men du kan hente spor ved å nøye undersøke følgende områder: Forfatterens ...

Redaktørens valg

Hva skjer i QuickBooks 2013 Setup? - dummies

Hva skjer i QuickBooks 2013 Setup? - dummies

Etter at du har installert QuickBooks 2013, kjører du en skjermveiviser for å sette opp QuickBooks for firmaets regnskap. Klart, denne skjermveiviseren kalles QuickBooks Setup. Når du kjører QuickBooks Setup, gir du ganske mye informasjon til QuickBooks. Som en praktisk sak krever oppsettet og oppsettet etter oppsettet at du har ...

Leverandørmenykommandoer i QuickBooks 2013 - dummies

Leverandørmenykommandoer i QuickBooks 2013 - dummies

Når du jobber med betalbar betaling i QuickBooks 2013, har du ofte vil bruke flere av kommandoene på leverandørmenyen. Noen av kommandoene er imidlertid ikke så populære, men du må fortsatt være klar over deres formål. Leverandørssenter i QuickBooks 2013 Vendor Center-vinduet viser en liste over leverandører og detaljerte ...

Kommandoer for leverandørmeny i QuickBooks 2014 - dummies

Kommandoer for leverandørmeny i QuickBooks 2014 - dummies

Når du jobber med betalbar betaling i QuickBooks 2014, har du ofte vil bruke flere av kommandoene på leverandørmenyen. Noen av kommandoene er imidlertid ikke så populære, men du må fortsatt være klar over deres formål. Leverandørssenter Vendor Center-vinduet viser en liste over leverandører og detaljert leverandørinformasjon for ...