|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
[c++] Perchè fa così ?
Ciao ragazzi ... guardate questo programmino e provatelo !!!
guardate le 2 differenze e provatele !!! le righe in grassetto --- una volta provate il programma con una ed una volta con l'altra ... dovrebbero fare la stessa identica cosa ... ma !!! GUARDATE VOI !!! me lo sapete spiegare il motivo ? Codice:
#include <stdio.h> #include <stdlib.h> #include <time.h> void sleep( clock_t wait ); void main( void ) { long i = 150000000; clock_t start, finish; double duration; printf( "Delay for 1 seconds\n" ); sleep( (clock_t)1 * CLOCKS_PER_SEC ); printf( "Done!\n" ); printf( "Time to do %ld empty loops is ", i ); start = clock(); while( i-- ) ; finish = clock(); duration = double(finish - start) / CLOCKS_PER_SEC; duration = double(finish) - double(start) / CLOCKS_PER_SEC; printf( "%4.2f millesimi di seconds\n", duration ); } void sleep( clock_t wait ) { clock_t goal; goal = wait + clock(); while( goal > clock() ) ; } ![]() Ultima modifica di Alex_87_xelA : 10-12-2008 alle 21:47. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
a me quelle due righe non sembrano affatto equivalenti: é chiaro che l'operator di divisione ha la precedenza su quello di sottrazione.
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Per evitare di confonderti, in futuro, potresti abituati a racchiudere tra parentesi il cast, così:
Codice:
... finish = clock(); duration = (double) (finish - start) / CLOCKS_PER_SEC; duration = (double) finish - (double) start / CLOCKS_PER_SEC; printf( "%4.2f millesimi di seconds\n", duration ); ...
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Nov 2008
Messaggi: 530
|
Quote:
![]() GRAZIE comunque !!! |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:58.