gforce (Normal User)
Rookie
Messaggi: 33
Iscritto: 21/01/2010
|
sono arrivato al mio libro alle funzioni ricorsive. Non riesco a capire perchè questo programma non funziona !
Codice sorgente - presumibilmente C++ |
#include <stdio.h> int roll (int y); int main(void) { int x = 2; printf ("%d", x); roll(x); return 0; } int roll (int y) { printf("%d",roll(y - 1)); return 0; }
|
L'output dovrebbe essere:
Codice sorgente - presumibilmente Plain Text |
ma esce fuori appena compilo:
Segmentation fault
|
|
carmine (Member)
Pro
Messaggi: 168
Iscritto: 20/04/2010
|
prova a dichiararla procedura non funzione:
Codice sorgente - presumibilmente C++ |
#include <stdio.h> void roll (int y); int main(void) { int x = 2; printf ("%d", x); roll(x); return 0; } void roll (int y) { printf("%d",roll(y - 1)); }
|
|
|
gforce (Normal User)
Rookie
Messaggi: 33
Iscritto: 21/01/2010
|
si ma io voglio farlo con un return
edit:
compilando il tuo sorgente esce questo messaggio:
Codice sorgente - presumibilmente C/C++ |
funzione.c: In function ‘roll’:
funzione.c:14: error: invalid use of void expression
|
Ultima modifica effettuata da gforce il 06/06/2010 alle 14:01 |
|
()
Newbie
Messaggi:
Iscritto:
|
Postato originariamente da carmine:
prova a dichiararla procedura non funzione:
Codice sorgente - presumibilmente C++ |
#include <stdio.h> void roll (int y); int main(void) { int x = 2; printf ("%d", x); roll(x); return 0; } void roll (int y) { printf("%d",roll(y - 1)); }
|
|
Carmine non dire queste ciaffate se non sai le cose |
|
gforce (Normal User)
Rookie
Messaggi: 33
Iscritto: 21/01/2010
|
tu sai la soluzione d@vide ?
|
|
()
Newbie
Messaggi:
Iscritto:
|
prova cosi..
Codice sorgente - presumibilmente C++ |
#include <stdio.h> int main() { int x = 2; printf("%d\n%d\n", x,roll(x)); } int roll(int y) { int x = 0; x = y - 1; return x; }
|
fammi sapere
|
|
gforce (Normal User)
Rookie
Messaggi: 33
Iscritto: 21/01/2010
|
Postato originariamente da carlduke:
prova cosi..
Codice sorgente - presumibilmente C++ |
#include <stdio.h> int main() { int x = 2; printf("%d\n%d\n", x,roll(x)); } int roll(int y) { int x = 0; x = y - 1; return x; }
|
fammi sapere |
si funziona, ma io la voglio ricorsiva, e questa non è ricorsiva |
|
()
Newbie
Messaggi:
Iscritto:
|
xd....giusto...nnn avevo visto..Lol
|
|
gforce (Normal User)
Rookie
Messaggi: 33
Iscritto: 21/01/2010
|
Postato originariamente da carlduke:
xd....giusto...nnn avevo visto..Lol |
la sai fare ricorsiva ? |
|