0
a=7; p= 0; solve: p+=(++a)-(--a); plz explain and solve
answer is 0 maybe but i cant understand plz explain. java expressions question.
2 Antworten
+ 4
I think you have not noticed answer  properly . Output should be 1 instead of 0 .  I tried in c cpp and java it giving 1 not 0.
public class Program
{
    public static void main(String[] args) {
    int a=7,p=0;
    p=p+ (++a)-(--a);
    System .out.println (p);
    
}       
    }
You intilize a=7 and p =0
When u calculate expression it will calculate like this 
 Her me u used pre increment and pre decrement but pre increment have highest priority so first a will increase by 1so a=8 and 8 will use in whole expression but after tha (--a) here first value will be decrease so it will again be 7
So 
p=p+ (++a) -(--a)
p=0+ 8 -7 
p=1
+ 1
In C & C++ this is considered as an example of sequence point issue. Order of execution is unspecified, which leads to unpredictable (and most probably undesired) output. You will see a sequence point warning if you run this code in Code Playground.
(Edit)
Java doesn't have this symptom.





