Click here to Skip to main content
16,015,809 members

Comments by Ehsan Nazeri (Top 2 by date)

Ehsan Nazeri 3-Mar-23 14:49pm View    
Thanks. I have two questions. 1) How about b=(*a)++; ? why it works correctly but a=(*a)++; doesn't?
2) if the precedence of = is the lowest precedence (?) why doesn't the compiler implement the ++ before the = operator?
Ehsan Nazeri 24-Feb-23 16:46pm View    
Thank you. I added two variables b and j and encountered weird results.
I wonder why in b=(*p)++ this occurs:
1)b=*p;
2)*p++ that is a=a+1;
but the command a=(*p)++ becomes
1)a=*p;
2)a+1;(without any assigning)
and even stranger why j becomes 8(!) rather than 2.
int main(void) {
int a=1,b,*p,j=1;
p=&a;
printf("The original Addres=:%p and a=%d\n",p,a);
b=(*p)++;
j=j++;
printf ("The second Address=%p and a=%d and b=%d and j=%d",p,a,b);
}