Fonction round() en C ansi

Fonction round() en C ansi - C - Programmation

Marsh Posté le 18-03-2011 à 18:38:40    

Bonjour,
 
Pourquoi la fonction round() n'est pas compatible C ansi ?
 
Si je l'utilise dans mon programme, j'obtiens l'erreur:
[code]
gcc -Wall -g -O3 -pipe -ansi   -c -o main.o main.c
main.c: In function ‘main’:
main.c:31:17: attention : implicit declaration of function ‘round’
[/gcc]
 
j'ai bien l'header math.h inclus dans mon fichier c.
 
Merci !

Reply

Marsh Posté le 18-03-2011 à 18:38:40   

Reply

Marsh Posté le 18-03-2011 à 19:03:35    

Et tu compiles en C99? parce que round n'est pas la fonction originelle de math.h pour arrondir. Les deux fonctions pour arrondir qu'on est sur d'avoir dans math.h c'est ceil et floor.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 18-03-2011 à 19:05:07    

ok floor est une fonction c99 ?

Reply

Marsh Posté le 18-03-2011 à 19:08:15    

floor et ceil, ca doit être dans le C Kernighan et Ritchie antédiluvien, et donc tous les C ultérieurs :)
Je te disais que round (et rint) sont des fonctions C99, mais pas dans tous les C d'avant.
Notes que gcc a un flag pour c99 ( -std=c99 ) qui devrait t'éviter d'avoir a changer ton code (mais qui disable peut être des features à la C++, comme les commentaires en // ).
A+,


Message édité par gilou le 18-03-2011 à 19:12:10

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 18-03-2011 à 19:17:11    

okay merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed