View Full Version : [C] variabile da stampare...come?
TripleAxel
10-01-2008, 18:48
ciao...una domanda probabilmente un po sciocca ma programmo da poco...
ho due funzioni e in una delle due c'è dichiarata una variabile, nell'altra funzione la voglio chiamare per stamparla....ma come faccio? mi da errore. ho provato a chiamare public var1 ma b() non la vede. Grazie dell'help!
a(){
var1;
}
b(){
stampa(var1);
}
magix2003
10-01-2008, 19:14
in che linguaggio?
TripleAxel
10-01-2008, 19:55
in linguaggio C
banryu79
10-01-2008, 21:27
ho due funzioni e in una delle due c'è dichiarata una variabile, nell'altra funzione la voglio chiamare per stamparla....ma come faccio? mi da errore. ho provato a chiamare public var1 ma b() non la vede. Grazie dell'help!
a(){
var1;
}
b(){
stampa(var1);
}
b() non la vede per forza: la variabile var1 essendo dichiarata dentro lo scope della funzione a() ha visibilità limitatamente a quello scope; infatti, alla fine dell'esecuzione di a(), la variabile var1 non esiste più :D
O la funzione b() viene chiamata nel corpo di a() e allora può ancora accedere a var1, oppure devi dichiarare (e inizializzare) una variabile esternamente alle due funzioni; poi però devi usare un puntatore per passare la variabile alla funzione a() se vuoi che questa ne modifichi il valore invece di crearsi una mera copia locale della tua variabile solo per distruggerla a fine chiamata e lasciarti con la tua var1 immutata.
TripleAxel
15-01-2008, 11:16
e come faccio in C a chiamare la funzione A quando sto dentro una funzione B? se per esempio sto nel corpo di B e scrivo printf(A().var1) non funziona...
:confused:
Volutomitra
15-01-2008, 11:29
e come faccio in C a chiamare la funzione A quando sto dentro una funzione B? se per esempio sto nel corpo di B e scrivo printf(A().var1) non funziona...
:confused:
Mi sa che è meglio se impari la differenza tra C e C++. Hai le idee parecchio confuse...
banryu79
15-01-2008, 11:31
e come faccio in C a chiamare la funzione A quando sto dentro una funzione B? se per esempio sto nel corpo di B e scrivo printf(A().var1) non funziona...
:confused:
Ehm, la sintassi che usi non va proprio bene in C :rolleyes:
Ti consiglio di procurarti un manuale sul C per avere un riferimento da seguire, a partire dalla sintassi...
Comunque:
// funzione B
void B(int var) {
stampa(var);
}
// funzione A
void A() {
// creazione var1
int var1 = 1;
// invocazione B()
B(var1);
}
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.