CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] pow

sd460
sd460
Niveau 10
18 avril 2009 à 21:21:10

question sur pow...
j'ai h qui est un int (il vaut 5 pour mes tests...) et pow ne fonctionne pas comme je veux dans l'appel pow(2,h).
J'ai tenté de l'afficher avec un printf, mais j'obtient 0 en retour ce qui ne me semble pas logique.
J'ai essayé de forcer h en double pendant l'appel de pow, mais pas plus de succès....
Une petite aide :question:

godrik
godrik
Niveau 30
18 avril 2009 à 21:25:38

Fournit, un exemple de code.
Ca marche tres bien chez moi.

godrik@mandan:tmp$ cat toto.c

  1. include <math.h>
  2. include <stdio.h>

int main()
{
int h = 5;
printf ("%f\n", pow(2,h));
return 0;
}
godrik@mandan:tmp$ make toto LDFLAGS=-lm
cc -lm toto.c -o toto
godrik@mandan:tmp$ ./toto
32.000000

sd460
sd460
Niveau 10
19 avril 2009 à 12:20:38

avec #include <math.h> ca marche mieux :)

Par contre je ne comprends pas pourquoi je n'avais pas d'erreur de compilation :(

dnob700
dnob700
Niveau 10
19 avril 2009 à 12:40:21

En C tu n'es pas obligé de déclarer tes fonctions avant de les utiliser. Par contre, je suis sûr que tu avais un warning de ton compilo à ce propo (et particulièrement lorsque tu as forcé h en float, car là il t'as dit en plus qu'il y avait un cast dangereux).

Mais quand tu ne déclare par tes fonctions tous leur arguments sont forcément des int et le type de retour aussi, sinon, ça ne va pas fonctionner.

godrik
godrik
Niveau 30
19 avril 2009 à 16:14:54

ce warning n'apparait pas sans -W avec gcc je crois.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment