Maison  >  Article  >  développement back-end  >  En langage C, que se passe-t-il si une fonction est appelée avant d'être déclarée ?

En langage C, que se passe-t-il si une fonction est appelée avant d'être déclarée ?

WBOY
WBOYavant
2023-08-27 19:21:061104parcourir

En langage C, que se passe-t-il si une fonction est appelée avant dêtre déclarée ?

Si nous n'utilisons pas de prototype de fonction et que le corps de la fonction est déclaré dans une partie après l'instruction qui appelle la fonction. Dans ce cas, le compilateur suppose que le type de retour par défaut est un entier. Mais si la fonction renvoie une valeur d'un autre type, une erreur sera renvoyée. Cela fonctionne bien si le type de retour est également un entier, cela peut parfois générer des avertissements.

Exemple de code

#include<stdio.h>
main() {
   printf("The returned value: %d</p><p>", function);
}
char function() {
   return &#39;T&#39;; //return T as character
}

Output

[Error] conflicting types for &#39;function&#39;
[Note] previous implicit declaration of &#39;function&#39; was here

Maintenant, si le type de retour est entier, cela fonctionnera.

Exemple de code

#include<stdio.h>
main() {
   printf("The returned value: %d</p><p>", function());
}
int function() {
   return 86; //return an integer value
}

Sortie

The returned value: 86

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer