Permalänk
Medlem

Fudering kring c++

Hej!

Läste på en sida om c++ som gick igenom lite saker, ett exampel var typ denna kod som ni har under er, men enligt dom ska S byttas utan varje gång, alltså ska inte det bli 15 varje gång utan S sak blir 15 och nästa gång 20 osv. Jag undrar hur en sådan kod skulle kunna se ut? Då i mitt fall blir det 15 hela tiden

int saldo(int& x) { x=x+5; return x; } int _tmain(int argc, _TCHAR* argv[]) { int counter = 0; while (counter <3) { ++counter; int s= 10; cout <<saldo(s)<<endl; } return 0; }

Visa signatur

MIN DATOR --> CPU: Intel Core i5 750 2,66GHz | RAM: Corsair XMS3 DDR3 1600MHz 4GB | HDD: Samsung 1TB | Moderkort: Asus P7P55D Pro | PSU: Corsair HX750W | GPU: PowerColor Radeon HD5870 | OS: Windows 7 Professional 64 bit | Chassi: Cooler Master HAF 922

Permalänk
Medlem

I din funktion saldo så skickar du in din integer s som är satt till 10. På denna görs sedan x + 5. Dock skapas en ny integer i varje itteration av loopen och därför kommer värdet alltid bli detsamma. Om du istället flyttar ut deklareringen och initieringen av s utanför while loopen så kommer du inkrementera samma S hela tiden.

Alltså

int saldo(int& x)
{
x=x+5;
return x;
}

int _tmain(int argc, _TCHAR* argv[])
{
int counter = 0;
int s= 10;
while (counter <3)
{
++counter;
cout <<saldo(s)<<endl;
}
return 0;
}

Visa signatur

Gigabyte Aorus Master | 32gb DDR4 3466MHZ CL14 | Ryzen 3950X | 3080Ti
En lång rad Intel system som barnen fått som speldatorer, VR-dator, massa bärbara, servrar, RPi's och andra boxar :P

Permalänk
Medlem

Hahah jaaha var det bara ett sånt litet fel ^^
Tusen tack iaf!

Visa signatur

MIN DATOR --> CPU: Intel Core i5 750 2,66GHz | RAM: Corsair XMS3 DDR3 1600MHz 4GB | HDD: Samsung 1TB | Moderkort: Asus P7P55D Pro | PSU: Corsair HX750W | GPU: PowerColor Radeon HD5870 | OS: Windows 7 Professional 64 bit | Chassi: Cooler Master HAF 922