|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Dec 2008
Messaggi: 9
|
[c] funzioni: ipotetica restituzione di piu' variabili
Ciao a tutti,
ho provato a compilare una funzione in c del seguente tipo: int fun(){ int k=3; int i=34; int j=45; ...... ...... return k, i, j; } e non e' stato sollevato alcun errore dal compilatore, ne e' stato segnalato alcun warning(il compilatore usato e' il gcc su debian). Mi chiedo a questo punto se e' possibile che la funzione possa restituire piu' valori contemporaneamente. Se cio' e' possibile sarei grato se qualcuno mi dicesse come ricavare gli altri valori(il valore restituito dalla funzione invocando normalmente la stessa e' j). Grazie anticipatamente a tutti. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2003
Città: London
Messaggi: 5977
|
E una stringa in output contenente tutti i valori separati da un carattere deciso da te?
![]() O un array se si puo` [non conosco il C]
__________________
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
no la funzione può tornare solamente un valore...ma puoi passare per reference i valori che intendi restituire:
Codice:
void fun(int &k, int &i, int &j) { k = i = j = 10; } void main(void) { int k, i, j; k = i = j = 0; fun(k, i, j); }
__________________
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Sep 2005
Città: Opinions are like assholes: anybody has one...
Messaggi: 34262
|
a meno che non dichiari la funzione int* e restituisci il puntatore all'array di interi
__________________
Ну давай !! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cina, bugiardo - stolen conto: non paghi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NON CERCO PIU' UN ALIMENTATORE DECENTE ----------------> LINK |
![]() |
![]() |
![]() |
#5 |
Junior Member
Iscritto dal: Dec 2008
Messaggi: 9
|
grazie mille, problema risolto
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
Potresti ad esempio fare: Codice:
int Funzione(int *a, int *b, int *c) { return ++(*a), --(*b), ((*c) - 3); } ciao ![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:57.