Miert lesz (c++-ban) 7,20 a megoldasa?
Figyelt kérdés
#include <stdio.h>
int f(int *x, int *y, int z){
(*x)++; (*y)++; z++;
return *x+*y+z;
}
int main(){
int a = 5, b; b = f(&a, &a, a);
printf("%d,%d",a,b);
printf("\n"); return 0;
}
2015. jún. 10. 16:03
1/2 anonim válasza:
a = 5
x++ --> 6
y++ --> 7
z++ --> 6
a (x) + a (y) + egy másik a (z)
7 + 7 + 6 = 20
b = 20
a = 7
azért lesz 7 + 7, mivel x és y-on ugyan arra a memória címre mutat (amit növeltél 6-ra, majd később 7-re)
2/2 A kérdező kommentje:
Azt hiszem megvan! Köszönöm!
2015. jún. 10. 16:22
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!