Delphi turvallisempi

C_Vaarallinen

eräässä C -ohjelmointioppaassa oli varoittava esimerkki ohjelmointivirheen seurauksena päättymättömästä silmukasta:

#include
void main(void) {
unsigned i;
for (i=10; i >= 0; i--) {
printf(“i is %u\n”, i);
}
}

--------
Entäpä vastaava for -silmukka Delphillä:

procedure TForm1.bnLoopTestClick(Sender: TObject);
var
SL : TStrings;
L : Longword;
begin
//
SL := memLog.Lines;
for L := 10 downto 0 do begin
SL.Add( IntToStr(L) );
// ---------------------------
if L >= $FFFFFFF0
then begin
//
SL.Add('--- Päättymätön silmukka - lopetettu. ---');
EXIT;
end;
end;
end;

Arvatkaapa, tulostaako ohjelma tuon '--- Päättymätön silmukka - lopetettu. ---' ?

EI !!

Ohjelma tulostaa kiltisti numerot 10:stä alaspäin 0:aan saakka ja lopettaa.

2

672

    Vastaukset 2

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Delphi fani

      Mitä ihmeen varoittavaa tuossa nyt on, meinaa c-koodissa, ikuinen luuppiko, huh!

      Eiköhän koodata tuo C sitten hiukan erilailla, kun ei haluta ikuista härdelliä, tuon nyt luulisi
      olevan itsestään selvyys, mutta kaipa nuo oppaan tekijät aina ovat niitä "virheistä oppii miehiä"


      ////////////////////////////////////////////////
      #include

      void main(void) {
      unsigned i;
      for (i=10; i >= 0; i--) {
      if (i >= 0xFFFFFFF0) break;
      printf("i is %u\n", i);
      }
      }
      ///////////////////////////////////////////////

    • vaarallista!

      Kyllä aloittaja nyt tais tehdä kärpäsestä härkäsen. Päättymättömissä luupeissa ei ole itsessään mitään vaarallista, ne voi joissain tilanteissa olla toki harmillisia kun ei exitiä ole vaan ohjelma menee takas alkuun mutta kyllä niistä aina jollain konstin irti pääsee.

      Sen sijaan mä kokisin vaaralliseksi jotkut tietyt toimenpiteet jotka on alatason rautakäskyjä, esim. väärillä käskyillä voidaan vaikka vahingossa formatoida kovo, tai vaikka tyhjentää bios.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mitä mieltä olet?

      Miehestä jolla ei ole yhtään kaveria, ei facebookissa eikä livenä ja hän harrasta ja tekee kaiken yksin. Onko vähän outo
      Ikävä
      202
      2102
    2. Muistakaa pojat tämä.

      Mies joka haluaa naisen, löytää keinon. Ei epäröi eikä hämmennä. Tekee kaiken eteenne.
      Ikävä
      159
      1429
    3. Muhun rakastuu kaikki naiset, mut mä en rakastu niihin

      Mun vaatimustaso on 10+ Mut mua tavottelee 7+ naiset
      Ikävä
      227
      1061
    4. Oletko päättänyt

      Että luovutat minun suhteeni
      Ikävä
      71
      917
    5. 58
      898
    6. Pahoin pelkään nainen

      että pidät minua epäempaattisena, itsekeskeisenä, narsistisena ja kylmänä ihmisenä. Oletko koskaan ajatellut, että minus
      Ikävä
      72
      821
    7. Mikä sua mies vaivaa?

      Siis oikeasti.
      Ikävä
      47
      813
    8. Haluatko enää mitään?

      😜
      Ikävä
      93
      777
    9. Martina avaa suhdettaan

      IL 22.7: Martina avaa suhdettaan nuoreen Muhikseen. Nyt on jo vakavaa, on käyty syömässä Itä-Helsingissä. Onkohan muutt
      Kotimaiset julkkisjuorut
      200
      697
    10. Hyvinvointitalo, mitä sanoo Korkein hallinto-oikeus . Mikä on kansalaisten oikeusturva?!

      Onpa mielenkiintoisessa vaiheessa Pyhäjärven hyvinvointitalon kohalo; Saako rakentaa, vai eikö? Kaupungin tekninen johta
      Pyhäjärvi
      107
      682
    Aihe