Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Tietoa laitoksesta:

 
Helsingin yliopisto / Tietojenkäsittelytieteen laitos / Copyright © 2000 Jan Lindström. Tämän oppimateriaalin käyttö on sallittu vain yksityishenkilöille opiskelutarkoituksissa. Materiaalin käyttö muihin tarkoituksiin, kuten kaupallisilla tai muilla kursseilla, on kielletty.

58127-1 C-ohjelmointi - Syksy 2000 : Kertausta: Luento2


#include<stdio.h>
#include<limits.h>

int main(void)
{
	unsigned long suuri = ULONG_MAX;
	long nega = LONG_MIN;
	float f = 123.456;
	int a[5] ={0};
	
        /* Mitä tapahtuu jos indeksoidaan taulukon ulkopuolelle ? */
        
        printf("Alkio %lu on %d\n",suuri,a[suuri]);
        a[suuri] = 5;
        printf("Alkio %lu on %d\n",suuri,a[suuri]);

        /* Mitä tapahtuu jos indeksoidaan negatiivisella indeksillä ? */
        
        printf("Alkio %ld on %d\n",nega,a[nega]);
        a[nega] = 5;
        printf("Alkio %ld on %d\n",nega,a[nega]);

        /* Mitä tapahtuu jos indeksoidaan realiluvulla ? */
        
        /* No seuraavat lauseet eivät kelpaa kääntäjälle: hyvä
        
        printf("Alkio %f on %d\n",f,a[f]);
        a[f] = 5;
        printf("Alkio %f on %d\n",f,a[f]);

        */
        /* No entä jos käytetäänkin vakioita ? */
        
        a[ULONG_MAX] = 5;
        a[LONG_MIN] = 5;
        
        /* Tämä ei kelpaa kääntäjälle: hyvä

        a[123.45] = 5;

        */
	return 0;
}




Jan Lindström (Jan.Lindstrom@cs.Helsinki.FI)