bonjour, j'étais entrain de lire le cour du SDZ sur la programmation en C puis une chose m'a intrigué (le cour sur les fonctions)la fonction permettant de convertir les euros en francs je l'ai essayée avec un scanf mais ca ne marche pas voici le code :
Bonjour, pour insérer un nombre à virgule, il faut utiliser la notation avec un point. Par exemple :
5.32 // ✔
6.55957 // ✔
3,14 // ✘
Le warning ...
b.c: In function ‘lol’:
b.c:8:12: warning: right-hand operand of comma expression has no effect [-Wunused-value]
franc=6,55957 * euros;
... est, on ne peut plus éloquent. Ici, la virgule ne fait pas ce que tu penses. Si tu es curieux, tu peux t'informer sur cet opérateur qui se nomme en anglais « comma operator ».
Une remarque : le format pour lire un 'double' est %lf, mais c'est aussi le format pour écrire un 'double'. C'est vrai que la fonction 'printf' accepte aussi le format %f (pour une raison de conversion implicite, je crois), mais je trouve que ça embrouille d'utiliser deux formats différents pour le même type. Comme certains cours utilisent ces deux formats, j'ai longtemps cru que 'printf' et 'scanf' n'utilisaient pas les mêmes et ça m'avait bien embrouillé. Alors qu'en fait c'est simple : %lf pour les 'double' épicétou.
En fait %f dans printf est pour les double, si l'argument est un float il est converti en double.
probleme avec les fonctions
× 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.
jen e comprends pas pourquoi le resultat correct ne s'affiche pas exemple je tape 10 le code me renvoie 6 francs