#include <stdio.h>
int kertoma(int x);
int kertoma(int x) {
if (x<=0) {
return (1);
}
return (x*(kertoma(x-1)));
}
int main() {
int tulos = kertoma(5);
printf ("Kertoman tulos: %i\n",tulos);
return (0);
}
Ohjelma kääntyy GCC:llä, mutta ruudulle tulee vain tyhjä rivi. Missä vika? Kertoma-metodissa ole mitään vikaa. Tämän pitäisi tulostaa ruudulle "120".
Rekursio-ongelma C:ssä
6
172
Vastaukset
Ihan hyvin toimii.
Ajoin minigw-64-Windows 8.1:llä käännettyäni ohjelman GCC.exe:llä Windows-ympäristössä poikkeukselisesti, niin eipä n äyttänyt toimivan.
Täytyy katsoa, josko linux-ympäristösssä toimisi paremmin. Omasta mielestänikään mitään vikaa tuossa ole.- Anonyymi
Mutta sinä olet hölmö!
Mikä tuo %i on? Viimeksi C-kieltä väännettäessä tulostettiin kokonaisluvut %d:llä.
- Anonyymi
jerzunposti kirjoitti:
Ajattelin, että int-alkukirjain "i", ai %d -pitäisi olla käytössä?
Mitä pirua sinä jokellat selvän asian kanssa. Iskikö pätemisen tarve taas.
Ketjusta on poistettu 6 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1482493
- 1801728
- 921598
- 691543
Kesä, kesä!
Veikkaan, ettet juuri nyt ikävöi minua, ehket enää koskaan? Näkemättömyys on laimentanut tunteet, ja katselet iloisena k6955- 80938
- 68871
- 61846
Miksi sanotaan että Suomella on suuri armeija, tykistö jne.
Asioita tarkemmin seuranneet tietävät että tuolla Ukrainassa palaa kuukaudessa sen verran mitä Suomella on kokonaisuudes188834- 61808