"Réécrivez les nombres de l'entrée à la sortie. Arrêtez l'entrée de traitement après lecture dans le numéro 42. Tous les numéros à l'entrée sont des entiers d'un ou deux chiffres."
#include <stdio.h> int main() { int num ; int repeat() { scanf("%d",&num) ; if(num!=42) { printf("\n%d",num) ; repeat() ; } else { return num ; } getch() ; } return 0; }
3 Réponses :
Pourquoi le contrôle ne saisit pas la fonction REPEAT ()? P>
parce que
principal () code> ne l'appelle pas. p>
La fonction
répéter () code> fonction est définie à l'intérieur
Main () Code >. Qui n'est pas standard. Le déplacer de la sortie rend les choses plus claires: p>
xxx pré> de ce qui précède, il est évident que
principal () code> ne fait rien. P> BlockQuote>
Vous avez créé la fonction REPEAT () mais vous n'appelez jamais aussi que vous devez transmettre NUM comme argument pour répéter () et vous attendre à ce que cela revienne. p>
// Merci pour l'aide
#include <stdio.h> int repeat(int num) { scanf("%d",&num) ; if(num!=42) { printf("%d",num) ; repeat(num) ; } else { return num ; } getch() ; } int main() { int num ; scanf("%d",&num) ; repeat(num) ; return 0; }
Les définitions de fonction imbriquées ne sont pas standard C.
@Eugenesh. Pas vraiment.
@Melpomene Vous pouvez déclarer une fonction à l'intérieur d'une autre fonction. Vous ne pouvez pas définir i> un cependant. Stackoverflow.com/Questtions/2608158/Nestés-function-In-c
@Eugenesh. Oui, c'est ce que j'ai dit.
@melpomene alors ce que "pas vraiment" est lié? MISE À JOUR: I> OH, je vois que c'est à l'intérieur de sa propre définition. Manqué ce point.
Laissez-nous Continuez cette discussion en chat .