si par exemple on fait
int a=3.7;
eske a est egale a 3 ou a 4??
cad eske le c arrondit au plus proche ou pas
et si oui esk'il arrondit par defaut ou par exces dans le cas de 0.5...
Kevin Kofler
: Dans une variable globale, tu as en effet un "error: initializer element is not computable at load time".
Pollux
:Kevin KoflerJe ne suis pas sûr...
: Dans une variable globale, tu as en effet un "error: initializer element is not computable at load time".
Ou alors le standard spécifie que le compilo doit pouvoir simplifier les entiers (int tableau[16-1]) mais pas les flottants?
Et oui, ça peut te donner 3 ou 4, selon le compilo que t'utilises (mais je pense que globalement un certainement nb d'implémentations vont donner 3 -- et je ne sais pas ce qu'il en est pour -3.2).
Kevin Kofler
:Pollux
:Kevin KoflerJe ne suis pas sûr...
: Dans une variable globale, tu as en effet un "error: initializer element is not computable at load time".
Moi si, j'ai compilé un programme de test avec TIGCC pour voir.
~ $ echo 'int x=3.7;' > $$.c && gcc -S $$.c && cat $$.s && rm -f $$.*
.file "3284.c"
.globl _x
.data
.align 4
_x:
.long 3
unknown@K ~
$ cat <<EOF >floats.c
> int i=3.7;
> EOF
unknown@K ~
$ gcc -S floats.c
unknown@K ~
$ cat floats.c
int i=3.7;
unknown@K ~
$ cat floats.s
.file "floats.c"
.globl _i
.data
.align 4
_i:
.long 3
unknown@K ~
$ gcc --version
gcc.exe (GCC) 3.2 (mingw special 20020817-1)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.