j'ai créé un programme sizeof et il considère float et double comme une erreur comment ce fait-il??? :roll:
plus precisement c'est mon compilateur qui le considère comme une erreur.
Version imprimable
j'ai créé un programme sizeof et il considère float et double comme une erreur comment ce fait-il??? :roll:
plus precisement c'est mon compilateur qui le considère comme une erreur.
Un petit bout de code et le message d'erreur du compilateur s'il te plait. Je ne suis pas un devin et je n'ai pas ma boule de cristal.
je ne l'ai pas sur moi...
je sais juste que j'utilise #include<stdio.h> et #include<stdlib.h>
int(main) et printf()avec la "pseudo-fonction" sizeof avec tout le blabla dedans ...
a part ça je ne m'en rapelle plus :(
He bien reviens nous voir quand tu as tout cela, sinon, comment veux tu que l'on t'aide:(
Bonjour,
sizeof n'est pas une pseudo fonction, mais un opérateur, qui renvoie un size_t.
On l'utilise comme ça :Si ton compilateur renvoie une erreur, c'est que tu utilise mal sizeof.Code:
1
2
3
4
5 /* pour un type*/ size_t sizeof_float = sizeof (float); /* pour une variable (foo est une variable de type quelconque) */ size_t sizeof_foo = sizeof foo;
Et comment ont utilise sizeof avec printf() pour afficher double et float???
Relis la question, elle n'a pas de sens.
Si tu veux afficher float ou double, sizeof n'a pas à être utilisée.
Code:
1
2 float a_float = 1.5f; printf("un float: %f\n", a_float);
Si tu veux afficher la taille du type float resp. double, il faut afficher sizeof(float) resp. sizeof(double) qui est de type size_t.http://man.developpez.com/man3/printf.3.phpCode:printf("sizeof(float) = %zd\n", sizeof(float));
Et sous Visual studio (toutes versions) et MinGW, c'est %Iu au lieu de %zu.
Depuis que ton navigateur utilise une police qui n'ajoute pas de sérifs au I majuscule.
Le code de format pour un unsigned int __w64 est %z-minuscule-u en C99, mais %I-majuscule-u pour la CRT de Microsoft.
La version 2005 de la CRT supporte %llu pour les unsigned long long (les anciennes versions ne supportaient que %I-majuscule-64u), mais c'est l'unique concession qu'ils ont faite au standard C99...
:marteau:
j'ai trouver la solution à mon problème malgrés le charabia de la fin :roll:
:merci: