Форум программистов, компьютерный форум CyberForum.ru

clock() - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
stdcout
53 / 53 / 2
Регистрация: 06.04.2011
Сообщений: 210
08.06.2011, 20:33     clock() #1
Извиняюсь за тупой вопрос, больше негде спросить.
int main()
{
int i;
for (i = 1; i < 100; ++i)
if (i % 10 == 0)
printf("%ld\n", clock());
system("pause");
return 0;
}
выводит 0, 1, 1, 1, 1, 1, 1, 1, 1, 1
В описании функции читал, что она возвращает время, измеряемое процессором в тактах от начала выполнения программы. время, измеряемое процессором в тактах - это количество тактов процессора? Если так, то почему выводит эти данные, ведь их должно быть намного больше?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
skaa
Хочу в Исландию
 Аватар для skaa
1024 / 823 / 75
Регистрация: 10.11.2010
Сообщений: 1,626
08.06.2011, 20:55     clock() #2
Этот цикл пробегает мгновенно, поэтому печатаются одни и те же значения. Можно попробовать так:
C++
1
2
3
4
5
6
  int i;
  for(i=1;i<100;++i)
  {
    printf("%ld\n",clock());
    getchar();
  }
, тогда будут разные числа.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.06.2011, 04:42     clock() #3
C
1
clock() / CLOCKS_PER_SEC
это просто количество секунд от начала программы
stdcout
53 / 53 / 2
Регистрация: 06.04.2011
Сообщений: 210
09.06.2011, 08:25  [ТС]     clock() #4
skaa,
просто я думал, что процессор не может выполнить больше одной операции за такт. А в этом цикле за одну итерацию и проверка совершается и инкрементирование.
Yandex
Объявления
09.06.2011, 08:25     clock()
Ответ Создать тему
Опции темы

Текущее время: 02:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru