0
what is the output of this code and why??
void fun(int *ptr) {*ptr=30;} int main(){ int y=20; fun(&y); printf("%d",y); return 0;} https://code.sololearn.com/cu35vsqJl483
3 Réponses
+ 2
Line 5 passes the address of variable y to function fun
Line 2 changes the contents of this address to 30
The contents of the address of variable y is the variable itself - so changing it changes the variable value
Line 6 prints the changed y
0
it is 30 as the compiler and sololearn site says but i m confused why the value of it is like this and not 20.
0
Main:
Hey lets save 20 in box y of our post office.(int y=20)
Hey fun my old friend, look the post office, i put something in the green box(fun(&y))
Fun: Cool box, whatever was in there before, lets change it to 30 packets(*ptr=30)
Main: lets count the packets in our box and shout it…”30”