J'ai crains que ne m'avez pas bien compris.Voici le code en entier :
#include <stdio.h>
int triple (int number)
{
return 3*number;
}
int main ()
{
int user = 0;
printf ("Enter your number : ");
scanf ("%d", &user);
printf ("Your number is tripled : %d\n", triple (user));
return 0;
}
Et voici ce que j'ai fait :
#include <stdio.h>
int triple = 0, number = 0;
int triple (int number)
{
return 3*number;
}
int main ()
{
int user = 0;
printf ("Enter your number : ");
scanf ("%d", &user);
printf ("Your number is tripled : %d\n", triple (user));
return 0;
}
@Pierrot a très bien compris, et t'a donné la bonne réponse.
int triple(int n); (<-- bien noter la présence du ';') déclare que triple est une fonction qui reçoit un int et qui renvoie un int.
Maintenant, en ajoutant ta ligne, tu déclares en ligne 3 que triple est un entier, et ligne 5 tu dis que triple est une fonction. Le compilateur te signifie son désaccord.
- Edité par edgarjacobs 22 février 2022 à 18:37:42
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Là, tu déclares un entier de type int nommé triple !
int triple(int number)
{
return 3*number;
}
Là, tu définies une fonction nommé triple ! (Elle vaut déclaration si tu l'utilises plus loin dans le même fichier source).
Si tu voulais déclarer ta fonction il fallait écrire :
int triple(int number);
Pour ce qui est de number, il est déjà déclaré comme paramètre de la fonction. C'est une variable locale à la fonction qui est affectée avec la valeur passé en paramètre lors de l'appel de la fonction.
$ gcc -Wall -Wextra a.c
a.c:5:5: error: ‘triple’ redeclared as different kind of symbol
5 | int triple (int number)
| ^~~~~~
a.c:3:5: note: previous definition of ‘triple’ was here
3 | int triple = 0, number = 0;
| ^~~~~~
> Mais après compilation j'ai eu une erreur
Ca aurait été sympa que tu nous dises laquelle, c'est pas qu'on n'aime pas jouer aux devinettes....
> qui ne s'est corrigée
Tu aurais d'ailleurs gagné du temps en LISANT le message plutôt qu'en imaginant qu'elle va se corriger (toute seule ?) à force d'ajouter et enlever des lignes au hasard.
C'est pas compliqué : ligne 5 il y a une redéfinition de triple qui a été déjà déclaré ligne 3, mais d'une autre espèce.
Si tu as des erreurs, c'est normal, et ce n'est pas parce que tu es débutant. Tout le monde fait des erreurs. La différence, c'est que quand on est moins débutant, on lit les messages parce qu'on y trouve des indications sur ce qui ne va pas. Ce qui va plus vite que d'aller poster sur les forums.
- Edité par michelbillaud 23 février 2022 à 16:39:53
Déclaration
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent