![The Complete Guide to Google Forms - Online Survey and Data Collection Tool!](https://i.ytimg.com/vi/DQ1Kd52Wcdo/hqdefault.jpg)
Vsebina
- Koraki
- Metoda 1 od 2: Tehnika za zanko
- Metoda 2 od 2: Tehnika "sleep ()"
- Vzorčna koda
- Nasveti
- Opozorila
Ste si kdaj želeli ustvariti program C, ki čaka na določen čas? Prilagodite lahko način, da "naletite" na primer: ko prikazujete pojavno stran (obvestilo ali namig) za igro. ... V redu, tukaj je nekaj načinov za ustvarjanje programa "miruj", beri naprej ...
Koraki
1 Pustite, da vaš procesor deluje nekaj časa, ne da bi povzročil opazen dogodek.
2 Med to zamudo ne izvajajte nobenih drugih operacij, da bi ustvarili preprosto časovno zamudo.
Metoda 1 od 2: Tehnika za zanko
1 Za izvedbo zamude uporabite tipično zanko "for", ki ji sledi prazen stavek.
2 Napišite na primer tako:
- za (i = 1; i100; i ++);
- Operater, ki sledi ";" prisili računalnik, da se 100 -krat ponovi brez opaznega dogodka. Ustvarja le časovno zamudo.
Metoda 2 od 2: Tehnika "sleep ()"
1 Uporabi spanje (). Funkcija se imenuje sleep (int ms), deklarirana v TIME.H>, zaradi česar program čaka na določen čas v milisekundah.
2 V svoj program pred int main () vključite naslednjo vrstico:
- #vključi TIME.H>
3 Prilepite, kjer je potrebno, da zakasnite program:
- spanje (1000);
- Spremenite "1000" na število milisekund, ki jih želite počakati (na primer, če želite narediti 2 -sekundno zamudo, jo zamenjajte z "2000".
- Nasvet: V nekaterih sistemih je lahko vrednost določena v sekundah namesto v milisekundah. Zato včasih 1000 ni 1 sekunda, ampak dejansko 1000 sekund.
Vzorčna koda
Program, ki čaka na določeno število sekund:
#include stdio.h> #include dos.h> int main () {int del; // Obdobje zakasnitve printf ("Vnesite čas zakasnitve (v sekundah):"); scanf ("% i" ,? del); del * = 1000; // Pomnožimo s 1000 za pretvorbo v milisekunde Zamuda (del); // Zamuda. printf ("Končano."); vrnitev 0; }
Program, ki odšteva od 10 do 0:
#include STDIO.H> #include TIME.H> int main () {int i; za (i = 10; i> = 0; i--) {printf ("% i n", i); // Zapišite trenutno številko "odštevanja" Zakasnitev (1000); // Počakaj sekundo} return 0; }
Nasveti
- Milisekunda je 1/1000 sekunde.
- Zgornji algoritem je mogoče izvesti s katero koli strukturo zanke, ki ji sledi ničelni operater - "; kot uporaba zank while ali do -while.
Opozorila
- Ta metoda je na splošno neuporabna za nič drugega kot za nepomemben program. Na splošno za to uporabite časovnike ali pristop, ki temelji na dogodkih. V nasprotnem primeru se program med zamikom ne bo odzival, kar ni vedno dobro. Tudi izbira N v zanki, če je odvisna od izvajanja ukazov, ima lahko nepričakovane rezultate. Očitno prvotni avtor nikoli ni slišal za optimizacijski prevajalnik ... lahko optimizira celotno zanko, če dejansko ne naredi ničesar!
- Upoštevajte, da lahko pri uporabi metode "for-loop" traja zelo velik interval za i, saj je prazen stavek zelo hiter. Tako velika števila morda ne sodijo v celoštevilski tip.
- Če uporabljate zanko for, lahko prevajalnik optimizira kodo, in ker zanka ne naredi ničesar, jo odstranite. Pri uporabi Delay () se to ne zgodi.