Следующий код был запущен в кодовых блоках, gcc-компилятор.Измерение времени программы C 0
#include <sys/time.h>
#include<stdio.h>
int sumN(int n) {
int i,sum;
for(i=0; i<n; i++) {
sum += i;
}
return sum;
}
int main() {
struct timeval stop, start;
int i;
for(i=0; i<10000;i+=100)
{
gettimeofday(&start, NULL);
sumN(i);
gettimeofday(&stop, NULL);
printf("%d : %lu\n",i, stop.tv_usec - start.tv_usec);
}
return 0;
}
, и я получаю следующий выход. Есть ли проблема с функцией gettimeofday? Или выход прав? Мне также нужно построить график, основанный на множественном размере ввода для функции и времени, затраченном на выполнение функции.
в 'sumN',' sum' является неинициализированным, поэтому функция возвращает случайные значения. Добавьте 'sum = 0;' перед циклом. –