Certainement parce que le temps est trop court. Essaye cela :
Pour ajouter du temps entre le début et la fin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 int tempsDebut = clock(); // traitement du programme printf("clock() = %i\n", (int)clock()); printf("tempsDebut = %i\n", tempsDebut); Sleep(1000); /* ou sleep(1), je ne connais pas ton OS */ int tempsExec=clock()-tempsDebut; printf("tempsExec = %i\n", tempsExec);
c'est la meme chose , le 0 aussi qui s'affihce
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // traitement du programme printf("clock() = %i\n", (int)clock()); printf("tempsDebut = %i\n", tempsDebut); int tempsExec=(double)(clock()-tempsDebut)/CLOCKS_PER_SEC; printf("tempsExec = %i\n", tempsExec);![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 double tempsExec=(double)(clock()-tempsDebut)/CLOCKS_PER_SEC; printf("tempsExec = %lf\n", tempsExec);
En POSIX, cela vaut 100'000 ou 1'000'000 je crois, alors que sous MS ça vaut 1'000 (en tout cas avec MINGW).
Tout cela c'est implémentation-définit. 0 seconde, c'est très probable. Essaye en milliseconde plutôt (const long CLK_PER_MS = CLOCKS_PER_SEC / 1000).
MErci Jenna , là j'obtiens 0.06secondes
c'est bien
merci
Ah, ce qui m'a perdu c'est que le "traitement" en commentaire était un vrai traitement dans le vrai programme, 2 pages pour résoudre un problème aussi trivial ...
Plutôt const long CLK_PER_MS = (long)(CLOCKS_PER_SEC / 1000.0). Le cast sert juste à supprimer le warning. On peut également arrondir le rapport plutôt que de simplement le tronquer.Envoyé par Lavock
Partager