Hallo,
ich versuche gerade die Zuweisung/Veränderungen von globalen/lokalen Variablen zu verstehen. Könnte mir vielleicht jemand sagen an welcher stelle ich die Zuweisung/ Veränderung falsch mache ?
Ich glaube das Ergebnis ist a 2 jedoch komme ich darauf nicht
Oder bleibt der Wert 2 weil Parameter per Call by Value übergeben werden und deshalb die Funktion den aktuellen Parameter bei Aufrufer nicht verändern kann ?
ich versuche gerade die Zuweisung/Veränderungen von globalen/lokalen Variablen zu verstehen. Könnte mir vielleicht jemand sagen an welcher stelle ich die Zuweisung/ Veränderung falsch mache ?
Ich glaube das Ergebnis ist a 2 jedoch komme ich darauf nicht
Java:
int a=0, b=2;
void bar(int b){
a=b; //a=4
}
void foo(int a, int b){ //foo(2,0)
{
int b=a; //b=2
int a=a+b; //a=2+2=4
}
bar(a); //a=4
}
int main(int argc, char *argv[])
{
int b=a; // b=0
{
int a=2; //a=2
foo(a, b); //a=4
}
return a; //a=4
}
Oder bleibt der Wert 2 weil Parameter per Call by Value übergeben werden und deshalb die Funktion den aktuellen Parameter bei Aufrufer nicht verändern kann ?
Zuletzt bearbeitet: