
Сообщение от
OstapBender
лады, учту
хотя вот провел тестик
C |
1
2
3
4
5
6
7
| int v=0;
for (int i=0; i<INT_MAX/2; )
v=++i /*сначала инкремент потом присваивание*/;
std::cout << (double)clock()/CLOCKS_PER_SEC; |
|
выдает 2.328
C |
1
2
3
4
5
6
7
| int v=0;
for (int i=0; i<INT_MAX/2; )
v=i++ /*сначала присваивание потом инкремент*/;
std::cout << (double)clock()/CLOCKS_PER_SEC; |
|
2.593
это же 2 совершенно разных прораммы. Первая программа выполняет на 1 операцию меньше второй, т.е. значение i = 0 не присваивается переменной v, когда во второй присваивается.