Ukeoppgave uken 11. til 17. november 2008 Oppgave 1 RusC tillater ikke rekursive kall; hvordan kan vi sjekke om brukeren fors?ker p? dette? Hint: Husk at rekursive kall kan skje p? to m?ter: 1. direkte rekursjon, der en funksjon 'fa' kaller seg selv, eller 2. indirekte rekursjon, der 'f1' kaller 'f2' som igjen kaller 'f1' (eller enda lengre kjeder). Oppgave 2 Hva skjer om vi glemmer return-setningen i en funksjon? Se p? dette lille programmet: int f () { int x; x = 5; } int main () { int v; v = f(); putint(v); putchar(10); } Vil 'f' avslutte normalt om koden lages i henhold til kodetabellene i kompendiet? Hvilken verdi vil 'v' f? i 'main'? Vil den alltid v?re det samme? Oppgave 3 Hvis vi kj?rer dette RusC-programmet int teller () { int a[1]; a[10] = a[10] + 1; return 0; } int main () { int n, x; n = 1; while (n <= 6) { x = teller(); putint(x); putchar(' '); n = n+1; } putchar(10); } s? skriver det ut 1 2 3 4 5 6 Forklar hvordan det kan skje n?r 'teller' avsluttes med ?return 0?. Hint: Se p? koden som genereres.