salut à tous et tous mes voeux les meilleurs pour l'année 2021. je suis un débutant et je rencontre les difficultées sur les pointeurs. je voudrais bien que quelqu'un puisse me venir en aide. merci d'avance. bref je n'arrive pas à écrire un programme qui fait la somme de deux nombres. je joinds à ma requette mon code.


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

int addition(int *nbre1, int *nbre2);

int main(){
	int x;
	int y;

	printf("entrer deux nombres\n");
	scanf("%d %d", &x,&y);
	addition(&x, &y);
	printf("la somme de ces deux nombres est: %d %d", x,y);
	
	return 0;
}

int addition(int *nbre1,int *nbre2){

	return *nbre1 + *nbre2;
}

Modifié par _laurent (01 Jan 2021 - 02:29)
Modérateur
Bonjour,

Bien que ce forum n'ait pas vocation à répondre aux questions sur le langage C, voici quelques explications.

Ta fonction addition calcule et retourne la somme des deux nombres, mais à aucun moment tu n'essaies d'écrire son résultat.

Une manière de le faire est d'affecter le résultat de la fonction addition() à une 3e variable (par exemple z), et d'écrire la valeur de z.

Par exemple :
#include <stdio.h>
#include <stdlib.h>

int addition(int *nbre1, int *nbre2);

int main(){
	int x;
	int y;
	int z;

	printf("Entrer deux nombres :\n");
	scanf("%d %d",&x,&y);
	z=addition(&x,&y);
	printf("La somme de %d et %d est %d\n",x,y,z);
	
	return 0;
}

int addition(int *nbre1,int *nbre2){
	return *nbre1 + *nbre2;
}

Note : l'utilisation de pointers comme paramètre de la fonction addition() n'était pas vraiment nécessaire ici, car tu ne modifies pas la valeur de ces paramètres à l'intérieur de cette fonction. Mais bon, on va dire que c'est juste à titre d'exercice.

Bonne année 2021
Modifié par parsimonhi (01 Jan 2021 - 04:45)