>> DAVID J. Malan: Implémentons maintenant une fonction qui n'a pas seulement un côté
effet, mais au lieu des rendements une valeur de retour.
Plus précisément, nous allons mettre en œuvre une fonction appelé obtenir int positif dont
but dans la vie est de faire exactement cela.
Plus précisément, je voudrais utiliser cette fonction comme suit: -
int N obtient obtenir int positif.
Et puis imprimez f, grâce pour le i pour cent en
espace réservé, virgule, fin.
>> Maintenant, bien sûr, obtenir positif n'existe pas encore int.
Donc, nous allons promettent de mettre en œuvre par ajoutant au début de mon dossier une ligne
comme signifiant que cette fonction int sera de retour dans int -
obtenir int positif.
Et nous allons préciser explicitement que cette fonction ne prendra aucune entrée, et
si ses arguments sont nuls.
Allons maintenant au fond de mon dossier, tout simplement pour que je puisse garder principale en haut,
effectivement mise en œuvre ou de définir cette fonction.
>> D'abord, nous commençons avec le même signature, pour ainsi dire -
int obtenir positif int vide.
Et maintenant, nous allons mettre en oeuvre obtenir int positif comme suit.
Déclarons un int, également appelé N, mais nous pourrions l'appeler presque tout
nous aimerions, procédez comme suit tandis que d'autres condition est vraie, et nous allons revenir à
cette condition dans un moment.
Imprimer f, donnez-moi s'il vous plaît un int positif, et maintenant nous allons utiliser Get int de
la bibliothèque de CS50 à fait obtenir que int.
>> Mais dans mon état, nous allons le faire boucle tant que N est inférieur à 1.
En d'autres termes, tant que l'utilisateur ne coopère pas en me fournissant
avec un int positif, permettez-moi de re-rapide lui encore, et encore, et encore
jusqu'à ce qu'il ou elle fait.
Mais je n'ai pas encore fini, car à l' fin de cette fonction, je dois
faire quelque chose avec cette entrée.
Et donc je vais aller sur le retour avec une ligne comme fin de retour
point-virgule, ce qui ramène une réelle int pour principal qui a appelé cette fonction.
Maintenant, il est intéressant de noter que, même si obtenir des rendements positifs dans int int, c'est
certainement très bien pour elle pour revenir un int positif spécifiquement.
Il n'est pas un type de données spécial pour entier positif spécifiquement, nous
il suffit d'utiliser le construit en "int".
>> Maintenant de retour à la ligne neuf, remarque que je suis imprimer N. Mais le N dans cette ligne
appartient à la N qui est déclaré en ligne huit.
Ainsi, il s'avère que vous ne pouvez absolument avoir les variables portant le même nom si
tant qu'ils existent à l'intérieur des portées différentes.
Et de rappeler que la portée est définie par les accolades que plus étroitement
entourer la variable que vous avez défini.
>> Maintenant, nous allons compiler et exécuter ce programme.
Faire fonctions 1, point réduire fonctions 1.
Donnons-lui un positif int comme 50, et il dit merci pour le 50.
Pendant ce temps, si nous ne coopérons pas, Exécutez de nouveau le programme, ce qui lui donne
0, je suis invité à nouveau, ou de le donner 1 négative, je suis invité à nouveau.
Mais si je ne coopèrent lui fournissant, dire, 50 ans, je suis remercié pour le 50.