/Anonimizzato18783Utente anonimizzato09 gen 2016, 17:56#include<stdio.h> char stampa_parola(char); int main(){ char stringa[]={"culo"}; return stampa_parola(*stringa); return 0; } char stampa_parola(char *stringa){ int i; for(i=0; i<4; i++){ printf("%c", stringa); } }
SSVNikoMolto attivoIscritto daset, 2014Messaggi53509 gen 2016, 18:09Prova a togliere le graffe, mettere i tag code quando posti codice sul forum e utilizzare parole politically correct.
SSVNikoMolto attivoIscritto daset, 2014Messaggi53509 gen 2016, 18:20Perché ha una marea di problemi. - Definisci una funzione che ritorna un char e accetta un char * ( ma la tua funzione non ritorna nulla ) - Quando chiami questa funzione passi il valore contenuto nella prima cella e non il puntatore ad esso - La stringa in realtà non è allocata andrebbe fatto staticamente o dinamicamente - Il main ritorna due volte, la prima con la chiamata a funzione la seconda con return 0 perchè?
/Anonimizzato18783Utente anonimizzato09 gen 2016, 18:50-non ritorna nulla perche' uso il printf -cosa cambia? -non si alloca automaticamente? -il return 0 ho sbagliato a lasciarlo, non c'entra...
SSVNikoMolto attivoIscritto daset, 2014Messaggi53509 gen 2016, 19:00Se la funzione non deve ritornare nulla la dichiari void e non char, quindi non scrivi return stampa_parola(*stringa); No non si alloca automaticamente! Ti consiglio di studiare come scrivere una funzione, parametri e valori di ritorno.
OoregonSuper FamosoIscritto danov, 2011Messaggi2191709 gen 2016, 20:14Se non studi le basi del linguaggio è inutile scrivere codice a caso e presentarlo nel forum.