Dinesh Tahiliani

Ranch Hand

Posts: 486

vaibhav mishra

Ranch Hand

Posts: 168

posted 8 years ago

it seems that since a=b assignment occurs, it make referecnce a point to array reference b which is similar to in numerical sense a[any index]=b[any index] and a result is stored in temporary variable say t

where

t=(a=b)[3]

t =a[3]//this a is pointing towards b

t=0

so t is 0

it might occur that a[] value are modified but it is not so,

and the resulting statement is

which will translate to

which will print value of a[0]

which is 1

but this inner a is referencing to initial b so a's current value are

a[]={2,3,1,0} which is

same as b

a[3] has value of b[3] that is 0 stored in it

so code reduces from a[a[3]]

[code]a[3]//replacing value of a[][]

where

t=(a=b)[3]

t =a[3]//this a is pointing towards b

t=0

so t is 0

it might occur that a[] value are modified but it is not so,

and the resulting statement is

which will translate to

which will print value of a[0]

which is 1

but this inner a is referencing to initial b so a's current value are

a[]={2,3,1,0} which is

same as b

a[3] has value of b[3] that is 0 stored in it

so code reduces from a[a[3]]

[code]a[3]//replacing value of a[][]

SCJP