Simons Inserito: 20 settembre 2007 Segnala Share Inserito: 20 settembre 2007 Salve a tutti... ho sviluppato un piccolo programma per scrivere su un LCD.come posso costruire una funzione in modo che possa passargli 2 stringhe e 1 intero?ho sviluppato questa funzione:void visualizza(char titolo, char unita, long int valore){printf(send_char,"%C",titolo);printf(send_char,"\n%C",unita);printf(send_char,"%lu",valore);}quando vado a passare i parametri in questo modo:visualizza("Tempo","sec",25);il compilatore mi dà errore sulla prima virgola "Bad Expression Syntax"... come passo una stringa a una funzione?grazie 1000 dell'aiuto Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 20 settembre 2007 Segnala Share Inserita: 20 settembre 2007 (modificato) ciao simonsdevi usare il %s se gli argomenti sono stringheinoltre il %lu puoi formattarlo ad esempio%07lu significa stampa il numero sempre su 7 cifre e se sono di meno riempi con zeri a sinistraoooops forse la domanda era sui parametri di visualizzain questo caso passi i puntatori char*esempio char titolo[] = "bla bla"la dichiari visualizza (char* titolo, ....)la chiamata diventa visualizza (titolo, ...) ;e comunque nel printf ci vuole %s Modificato: 20 settembre 2007 da accacca Link al commento Condividi su altri siti More sharing options...
Simons Inserita: 21 settembre 2007 Autore Segnala Share Inserita: 21 settembre 2007 accacca+20/09/2007, 16:14--> (accacca @ 20/09/2007, 16:14) Grazie!ma ad esempio la stringa char titolo[] deve essre per forza dichiarata in precedenza?e poi il nome del parametro deve essere uguale alla stringa dichiarata prima?intendo il parametro visualizza(char *titolo) deve avere lo stesso nome di titolo[]="blablabla" ??grazie ancora Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 22 settembre 2007 Segnala Share Inserita: 22 settembre 2007 hai ragione non servepuoi fare come hai scritto tu inserendo la stringa direttamente nella chiamata,Anche nome dle parametro e nome dell'eventuale variabile possono essere completamente diversi.La dichiarazione di una varibile anzichè scriverlo direttamente nel codice può essere utile per le modifiche (cambi lingua, modifichi i nomi....) cambi un solo posto senza cercare in tutto il codice Link al commento Condividi su altri siti More sharing options...
Simons Inserita: 22 settembre 2007 Autore Segnala Share Inserita: 22 settembre 2007 dunque ho fatto come mi hai detto:ho dichiarato la funzione così:void visualizza(char *titolo,char *um){ printf(send_char,"%S - %S",titolo,um);}Però quando vado a richiamarla in questo modo:visualizza("Tempo","sec");mi salta fuori il solito errore:"Bad Expression Syntax -1 is not 0...255" e mi evidenzia la virgola tra "tempo" e "sec" Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora