Alors là, je sens que je vais craquer, je suis à deux doigts de commettre un ordicide !

sois mon pc est complètement stupide, ou alors c'est moi (ce qui est d'ailleurs tout à fait possible

) !
Ceci dit le code suivant, en apparence anodin, me pose problème, et le problème est d'autant plus grand que le code est anodin justement :
considérons le petit morceau de code :
#include <iostream>
using std::cout; using std::cin;
int main() { float fl;
fl = 4 / 10; cout << "resultat " << fl << "\n"; cin >> fl; }
|
Quel sera la valeur retournée ? celle que l'on serait en droit d'attendre, c'est à dire 0.4 ? et bien non ! il me sort "0", et si je l'utilise pour calculer, c'est bien un calcul avec 0 qu'il effectue, le pb ne vient donc pas de l'affichage...
A titre d'information, le problème est le même avec une déclaration de fl en
ou
.
J'ai compilé avec DJGPP, ceci dit, avec Dev-C++ (4) le pb est exactement le même...
Alors comme il me semble étonnant qu'un langage comme le C++ ne sache pas faire des divisions à virgule, j'imagine que le problème vient de moi... mais j'ai beau chercher, je suis même aller vérifier que "/" était bien l'opérateur pour les divisions... mais rien à faire ! j'ai aussi rajouté math.h (sans trop y croire d'ailleurs) ça n'a rien changé...
Alors ma foi, si quelqu'un a une explication...