DAVID J. MALAN: Vediamo ora implementare una funzione che non solo ha un lato effetto, ma invece ritorni un valore di ritorno. In particolare, cerchiamo di implementare una funzione chiamato ottenere int positivo la cui scopo nella vita è quello di fare esattamente questo. In particolare, mi piacerebbe usare questa funzione come segue - int N ottiene ottenere int positivo. E poi la stampa f, grazie per la percentuale i come un segnaposto, virgola, fine. Ora, naturalmente, ottenere positive int non esiste ancora. Quindi cerchiamo di promessa per la sua attuazione da parte aggiungendo alla parte superiore del mio file una riga come int significa che questa funzione tornerà in int - ottenere int positivo. E cerchiamo di specificare esplicitamente che questo funzione non avrà alcun input, e così i suoi argomenti sono nulle. Diamo ora alla fine del mio file, semplicemente in modo che posso mantenere principale in alto, effettivamente attuare o definire questa funzione. Prima partiamo con la stessa firma, per così dire - int ottenere positivi int vuoto. Ed ora diamo implementare arrivare int positivo come segue. Facciamo dichiarare un int, chiamato anche N, ma potremmo chiamarlo quasi nulla vorremmo, effettuare le seguenti operazioni mentre alcuni condizione è vera, e ci tornerà a tale condizione in un momento. Stampa f, per favore mi dia un int positivo, e ora usiamo Get int da biblioteca CS50 effettivamente ottenere che int. Ma nella mia condizione, cerchiamo di fare questo ciclo finché N è minore di 1. In altre parole, così a lungo come l'utente non collabora fornendo me con un int positivo, mi permetta di ri-pronta lui o di lei, e ancora, e ancora fino a quando lui o lei fa. Ma non ho ancora finito, perché al fine di questa funzione ho bisogno di effettivamente fare qualcosa con quella di ingresso. E così ho intenzione di andare sulla restituzione con una linea come fine di ritorno virgola, riportando così un effettivo int al principale che ha chiamato questa funzione. Ora vale la pena notare che, anche se ottenere rendimenti positivi in ​​int int, è certamente bene per farlo tornare int positivo in particolare. Non c'è un tipo di dati speciale per intero positivo in particolare, in modo da è sufficiente utilizzare il built in "int". Ora torna alla linea nove, accorgo che sto stampando N. Ma la N in questa linea appartiene alla N che è dichiarata in linea di otto. Così si scopre che si può assolutamente avere variabili identicamente denominate così purché esistono all'interno diversi ambiti. E ricordare che la portata è definito da le parentesi graffe che più da vicino racchiudere la variabile che avete definito. Ora diamo compilare e eseguire questo programma. Fai funzioni 1, dot tagliare funzioni 1. Diamogli una positiva int-like 50, e dice grazie per il 50. Nel frattempo, se non cooperiamo, eseguire nuovamente il programma, dandogli 0, ho richiamato di nuovo, o dandogli negativo 1, sono richiamato di nuovo. Ma se io non collaborare fornendo con, dire, 50, sto ringraziato per il 50.