Programmation en C: Comment faire pour retourner à main et appeler une autre fonction?

#include <stdio.h>
#include <stdlib.h>

int get_num(int num);
void read_num(int num);

int main()
{
  int num;
  do
  {
    get_num(num);
    if(num == 1)
      read_num(num);

   }while(num != 0);
 }

 int get_num(int num)
 {
   printf("Please enter an integer from 0 and 2\n");
   scanf("%d", &num);
   if (num == 1)
     return num;
 }

 void read_num(int num);
 {
   printf("Hello.\n");
 }

Lorsque l'utilisateur entre 1, la read_num fonction n'est jamais appelée? Je ne comprends pas pourquoi? Je pensais que le retour num; retourne ce num retour à la page principale. Et si num == 0, le programme se termine, et si nombre == 1, alors le read_num fonction doit être appelée.

  • Oui, elle renvoie à main, mais vous n'avez jamais utiliser la valeur de retour. Votre scanf appel est seulement la modification de l'argument de la version de num, pas celui main a.
  • Je vois. Alors, comment puis-je appeler la fonction read_num lorsque l'utilisateur entre 1? Comment puis-je passer l'entier "1" retour à la page principale?
  • num =get_num(num), ou d'utiliser un pointeur pour num. apprendre à passer de la valeur par référence ou par valeur
InformationsquelleAutor James | 2013-02-12