Video: Section 3 2024
I C-programmering kan returordet blinke ut av en funksjon når som helst, og sender utføring tilbake til uttalelsen som kalte funksjonen. Eller, når det gjelder hovedfunksjonen (), går avkastningen ut av programmet. Den regelen holder fort, selv når retur ikke sender tilbake en verdi, noe som er sant for enhver tomgangsfunksjon du oppretter. Vurder å avslutte en funksjon med retur .
AVSLUTE EN FUNKSJON MED RETURN
#include void grense (int stopp); int main () {int s; printf ("Oppgi en stoppverdi (0-100):"); scanf ("% d", & s); Grense (s); returnere (0);} tomromgrense (int stopp) {int x; for (x = 0; x <= 100; x = x + 1) {printf ("% d", x); hvis (x == stopp) {setter ("du vant!"); returnerer;}} puts ("jeg vant!");}
Den dumme kildekoden som vises i Avslutt en funksjon med retur kaller en funksjon, grense (), med en bestemt verdi som leses i Linje 10. En sløyfe i den funksjonen sporer ut tall. Hvis en kamp er laget med funksjonens argument, gir en returoppgave (se linje 25) ut av funksjonen.
Ellers fortsetter kjøringen og funksjonen slutter ganske enkelt. Ingen returfunksjon er nødvendig på slutten av funksjonen fordi ingen verdi returneres.
Oppgave 1 : Opprett et nytt prosjekt ved hjelp av kildekoden som vises i Avslutte en funksjon med retur . Bygg og løp.
Ett problem med koden er at den ikke kontrollerer for å sikre at bare verdier fra 0 til 100 er inntastet.
Øvelse 2 : Endre kildekoden fra å avslutte en funksjon med retur slik at en annen funksjon, verifiser (), kontrollerer for å bekrefte om verdiinngangen er innenfor området fra 0 til 100. Funksjonen skal returnere konstanten SANT (definert som 1) hvis verdien ligger innenfor rekkevidden, eller FALSK (definert som 0) hvis ikke.
Når en verdi er utenfor rekkevidde, må programmet vise en feilmelding.
Selvfølgelig vinner du alltid etter at du har begrenset innspill for øvelse 2 til det angitte området. Kanskje du kan finne ut en annen måte å kode grensen () -funksjonen slik at datamaskinen har en sjanse - selv om den jukser?