Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Arvojen

...

testaaminen

...

(assert)

...

Yksi

...

tehokkaista

...

ohjelmoijan

...

apuvälineistä

...

on

...

assert()

...

-funktio.

...

Sen

...

avulla

...

voidaan

...

tarkastaa

...

ehtoja.

...

Se

...

löytyy

...

cassert-tiedostosta

...

(tai

...

assert.h).

...

Hyvä

...

puoli

...

assert()

...

-funktiossa

...

on

...

että

...

se

...

voidaan

...

poistaa

...

lopullisesta

...

ohjelmasta

...

asettamalla

...

#define

...

NDEBUG

...

-määritys

...

ennen

...

#include

...

<cassert>:ia,

...

jolloin

...

kaikki

...

assert()

...

-funktion

...

kutsut

...

muuttuvat

...

ei-operaatioiksi

...

eli

...

ne

...

eivät

...

tule

...

mukaan

...

käännettyyn

...

ohjelmakoodiin,

...

eikä

...

siten

...

vaikuta

...

ohjelman

...

suorituskykyyn.

...

assert():in

...

syntaksi:

{
Code Block
}
void assert(int expression);
{code}

*

assert()

...

-funktio

...

testaa

...

parametrinsa

...

arvon

...

ja

...

jos

...

se

...

on

...

tosi,

...

ohjelma

...

jatkaa

...

toimintaansa.

...

Silloin

...

kun

...

parametri

...

on

...

epätosi

...

se

...

tulostaa

...

virheilmoituksen

...

ja

...

tiedoston

...

ja

...

rivin

...

missä

...

assert()

...

-funktiota

...

kutsuttiin

...

ja

...

lopettaa

...

ohjelman.

...

Esimerkki

...

1.

...

assert():in

...

käyttö.

{
Code Block
}
#include <stdio.h>
#include <assert.h>   // assert():in määrittely löytyy täältä.

int main()
{
    printf("Anna positiivinen luku: ");
    int luku;
    scanf("%d", &luku);

    assert(luku >= 0);   // Testataan onko annettu luku positiivinen.

    printf("Antamasi luku (%d) on positiivinen!", luku);
}
{code}

{note}Testatkaa yllä olevaa koodi!{note}
Note

Testatkaa yllä olevaa koodi!