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)

