Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
programmino semplice che non riesco a capire...
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
lakeman88
Comune mortale
Comune mortale


Registrato: 17/06/11 10:49
Messaggi: 1

MessaggioInviato: 17 Giu 2011 10:53    Oggetto: programmino semplice che non riesco a capire... Rispondi citando

#include <stdio.h>
#include<conio.h>
#include <stdlib.h>

int A(int *y)
{
int x;
x=*y+5;
*y=x*2;
return *y;
}

int main(void)
{
int y,x;
x=4;
y=A(&x);

printf("%d", x+y);
system("pause");
}


il risultato è 36..qualcuno mi spiega un passaggio alla volta come fa a venire 36??

Grazie, Very Happy
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 10557
Residenza: Tokelau

MessaggioInviato: 20 Giu 2011 13:28    Oggetto: Rispondi

x=4
poi chiama la funzione passando x per referenza, non per valore.
quindi dentro aggiunge 5 ( =9 ) e poi moltiplica per 2 ( =18 ) ma fa questo calcolo _sovrascrivendo_ il valore passato
quindi il risultato è 18 e il valore originale (che era 4) è diventato anche 18.
Alla fine stampa x+y quindi = 36 Very Happy
Top
Profilo Invia messaggio privato HomePage
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi