"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érieurMain () 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 .