Я написал код для этого, но он не работает.Это код:
#include <stdio.h>
#include <time.h>
long timediff(clock_t t1, clock_t t2) {
long elapsed;
elapsed = ((double)t2 - t1) / CLOCKS_PER_SEC * 1000;
return elapsed;
}
int main(void) {
clock_t t1, t2;
int i;
long elapsed;
long settime = 9;
t1 = clock();
for (i=0; i > 10000000; i++) {
t2 = clock();
elapsed = timediff(t1, t2);
if (elapsed==settime)
printf("set time reached\n");
break;
}
printf("elapsed: %ld ms\n", elapsed);
return 0;
}
По какой-то причине он не выполняет оператор if.Единственное, что я вижу напечатанным на терминале, это elapsed: 4195440 ms
.Мне нужно иметь возможность указать, как долго я хочу, чтобы программа работала до того, как ее обрежут.
Например, так, как я хочу, чтобы этот код выполнялся, я установил заданное время равным 5, чтобы через 5 миллисекунд код останавливался, и на терминал выводилось сообщение «установленное время достигнуто».Я не уверен, если это важно, но я использую ОС Ubuntu.