#include<iostream>
int fun(int &x,int y=10)
{
if(x%y==0)
return (++x);
else
return (y--);
}
int main()
{
int p=10,q=13;
q=fun(p,q);
cout<<p<<q<<endl;
q=fun(q);
cout<<p<<q<<endl;
q=fun(p);
cout<<p<<q<<endl;
return 0;
}
Der Ausgang wie wie folgt dargestellt:Wie verfolgt man ein C++ Programm von Hand?
1013
1010
1111
Aber wenn ich versuche, es zu lösen Stift und Papier stecken ich bin. Bitte zeigen Sie mir, wie ich zum richtigen Output komme, um meine Konzepte klar zu halten.
Wie wird q = 10 im zweiten Aufruf .q wird von referenziert übergeben, ist aber nicht in der Funktion geändert definition.Is ist, weil y-- 10 zurückgibt? –
Das ist, weil wir im zweiten Aufruf kein zweites Argument übergeben, also wird entsprechend der Standardwert in der Funktionsdefinition verwendet. –
Danke @JaspreetSingh. Das hat geholfen :) –