Hjem Personlig finansiering Udbrud af et uendeligt loop i dit sprogprogram - dummies

Udbrud af et uendeligt loop i dit sprogprogram - dummies

Video: [타로/재회운] 이별을후회 하니? pick a card 2025

Video: [타로/재회운] 이별을후회 하니? pick a card 2025
Anonim

Når du kommer ind i programmeringssløjfer på C-sproget, opdager du glæderne og frygterne af uendelige eller uendelige løkker. Disse sløjfer fortsætter for evigt, fordi enten programmøren glemte at inkludere en måde at afslutte fra sløjfen eller exit-tilstanden er bare aldrig opfyldt. Uanset hvad er uendelige sløjfer en smerte.

Men nogle gange indeholder et C-program en endeløs sløjfe med det formål. Denne type konstruktion kan virke underlig, men grunden til mange moderne programmer er, at de sidder og spinder, mens de venter på, at der sker noget. Sløjfen kan se sådan ud:

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

Bemærk, at betingelserne inden for parenteserne efter, at søgeordet mangler, hvilket er okay. Resultatet er en endeløs sløjfe, hvor sætningerne kontrolleres gentagne gange, den ene efter den anden: Programmet leder efter aktivitet et eller andet sted. Når aktiviteten er fundet, slukker programmet og gør noget interessant. Men det meste sættes programmet lige i denne slags loop og venter på, at der sker noget. (Den typiske tekstbehandler kan udføre tusindvis af disse sløjfer, da den venter mellem tastetryk, mens du skriver.)

Indtast denne kildekode og gem den til disk. Derefter kompilere og køre programmet:

#include int main () {char ch; sætter ("Typing Program"); sætter ("Type væk:"); for (;;) {ch = getchar ();} returnere (0);}

Ja, du kan skrive. Og du kan se din tekst på skærmen. Men hvordan stopper du?

For at stoppe skal du bryde den endeløse sløjfe, som kan gøres ved at trykke på Ctrl + C. Men det er ikke sådan, du vil have dine programmer til at fungere. I stedet skal en exit betingelse defineres for sløjfen, hvilket er hvor break-søgeordet kommer i spil.

C-sprogudviklerne vidste, at i nogle tilfælde skal en sløjfe blive brudt på grundlag af forhold, der ikke kunne forudsiges eller opstilles inde i forklaringen. Så i deres visdom introducerede de pauseordet.

Hvilken pause gør, er at straks afslutte en sløjfe (enhver C-sprogsløjfe, ikke kun for sløjfer). Når computeren ser pause, antages det kun, at sløjfen er færdig og fortsætter som om sløjfernes endelige tilstand var opfyldt:

#include int main () {char ch; sætter ("Typing Program"); sætter ("Type væk; tryk '~' for at afslutte:"); for (;;) {ch = getchar (); hvis (ch == '~') {break;}} returnere (0);}

Nu er en exit betingelse defineret. Hvis sammenligningen i Linje 12 kontrollerer, om der er indtastet et ~ (tilde) tegn. Hvis det er tilfældet, stoppes sløjfen ved pauseopgørelsen.

Skift kildekoden, så den svarer til det, der netop blev vist. Kompilere og køre. Nu kan du stoppe programmet ved at skrive ~ tegn.

Bemærk at if-sætningen også kan skrives uden bøjlerne:

hvis (ch == '~') brydes;

Denne linje kan være lidt mere læsbar end brug af seler.

Udbrud af et uendeligt loop i dit sprogprogram - dummies

Valg af editor

Microsoft Project 2010 Genvejstaster - dummies

Microsoft Project 2010 Genvejstaster - dummies

Microsoft Project 2010 maksimerer effektiviteten, når du administrerer projekter - men også genvejstaster i Project 2010 din tid på tastaturet: Her er nogle genvejstaster, du vil bruge hele tiden, når du bygger og arbejder med en projektplan. Indtastning af tastetryk Indsæt Indsætter ny opgave Ctrl + K Indsætter hyperlink F7 Starter stavekontrol Alt + F10 Tildeler ressourcer ...

Hvordan man ændrer gridlines i Project 2016 - dummies

Hvordan man ændrer gridlines i Project 2016 - dummies

Flere visninger i Project 2016 inkluderer gridlines for at angive visse elementer, f.eks. en pause mellem uger eller status dato (det vil sige den dato, hvor der er sporet fremskridt på et projekt). Disse linjer hjælper en person med at læse planen for at skelne mellem tidsintervaller eller brud på information; For eksempel kan netlinjer være ...

Projekt 2016 AutoFilter-funktion - dummier

Projekt 2016 AutoFilter-funktion - dummier

Projekt 2016 AutoFilter-funktionen er som standard tændt for alle nye tidsplanfiler. Pile vises i kolonneoverskrifterne i det viste ark. Når du klikker på pilen i kolonnen Ressourcenavne, er navnet på hver ressource, der er tildelt opgaver i projektet, angivet i alfabetisk rækkefølge sammen med ...

Valg af editor

Netværksadministration: Windows Command Omdirigering og piping - dummies

Netværksadministration: Windows Command Omdirigering og piping - dummies

Omdirigering og piping af Windows-kommandoer er relaterede teknikker. Omdirigering giver dig mulighed for at angive en alternativ destination for output, der vil blive vist med en kommando eller en alternativ kilde til input, der skal indtastes i en kommando. Du kan f.eks. Gemme resultaterne af en kommando ipconfig / all til en fil ved navn myconfig. txt ...

Netværksadministration: VPN Security - dummies

Netværksadministration: VPN Security - dummies

Udtrykket tunnel er nogle gange brugt til at beskrive en VPN, fordi VPN'en skaber en sikker tunnel mellem to steder, som kun kan indtastes fra begge ender. De data, der bevæger sig gennem tunnelen fra den ene ende til den anden, er sikre, så længe det er inden for tunnelen - det vil sige inden for ...

Netværksadministration: Windows Miljøvariabler - dummies

Netværksadministration: Windows Miljøvariabler - dummies

Windows-kommandoskallen giver flere miljøvariabler til kommandoer. Miljøvariabler begynder og slutter med procent tegn. Du kan bruge en miljøvariabel overalt i en kommando. For eksempel viser C:> echo% OS%, der kører på% PROCESSOR_IDENTIFIER% en linje som denne: Windows_NT kører på en x86 Familie 15 Model 2 Stepping 8, ...

Valg af editor

Sådan bruger du arv i PHP med objektorienteret programmering - dummier

Sådan bruger du arv i PHP med objektorienteret programmering - dummier

Objektorienteret programmering i PHP har en anden funktion, der gør det meget nyttigt til store projekter. Mange objekter er relateret til hinanden, og du kan bruge et familietræforhold til at forenkle din programmering. Hvordan man bygger en critter baseret på en anden critter Der er en ny critter i byen. Denne har den samme grundlæggende ...

Sådan bruges PHP til at lave en switch til HTML5 og CSS3 Programmering - dummies

Sådan bruges PHP til at lave en switch til HTML5 og CSS3 Programmering - dummies

Du kører ofte over en situation i HTML5 og CSS3 programmering, hvor du har et udtryk, der kan have mange mulige værdier. Du kan altid bruge strukturen til at klare denne situation, men PHP leverer en anden interessant mulighed. Koden til dette program anvender omskifterstrukturen. Tag et kig på, hvordan det er gjort: