Probleme de beug sur code blocks

Résolu/Fermé
EinsteinE=mc2 - 7 nov. 2013 à 18:17
 EinsteinE=mc2 - 8 nov. 2013 à 11:47
Bonjour,

Debutant en langage C j'ai un souci avec un code , je ne comprend pas pourquoi il ne fonctionne pas pourtant , il compil parfaitement mais à la fin des que je rentre le rayon du cercle il m'envoie un rapport d'erreur je ne comprend pas merci à la personne qui jettera un coup d'oeil.

include <stdlib.h>

int main()
{
float nbrpi=3.141592653;
int x1= 10;
int y1= 3;
int res1;
float x2=10;
float y2=3;
char c = 'bonbon';
int R;
int per;
printf("pi= %f\n", nbrpi);
printf("pi= %.2f\n", nbrpi);
printf("L'adresse de la variable pi est: %x\n", nbrpi);
res1= x1/y1;
printf("x1/y1=%d\n", res1);
printf("x2/y2= %f \n", x2/y2);
printf("x2/0= %f \n", x2/0); Je testais juste la réaction du compilateur sur cette ligne
c = 'z' ;
printf("La caractere est:%2c \n", c);
printf("L'adresse de la variable c est: %x\n", c);
printf("Donner le rayon du cercle:");
scanf("%d", R);
printf("perimetre=%d \n et surface=%d ", R*2*nbrpi , nbrpi*R*R);
return 0;
}



A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
7 nov. 2013 à 21:19
Bonjour,
L'adresse de nbpri est &nbpri => Tu as donc un printf à corriger.

char c = 'bonbon';
Un char c'est un caractère. Donc char c ='b'; par exemple. Pas plus d'un caractère. Sinon il faut un tableau de char, une chaîne de caractères.
Ce qui donne par exemple : char *c="bonbon"; (entre guillemets).

scanf("%d", R);
Il faut mettre &R puisque la fonction va modifier la variable (passage par pointeur).

Et enfin, affiche un \n pour aller à la ligne juste avant ton return 0;

Cdlt,
0
EinsteinE=mc2
8 nov. 2013 à 11:47
Merci beaucoup ;)
0