Incrementing Pointers, Exact Sequence

后端 未结 3 1531
梦如初夏
梦如初夏 2020-12-03 08:52

I have just started to learn C, and I get that

*a = *b;
a++;
b++;

and

*a++ = *b++

are equivalent, but i

3条回答
  •  無奈伤痛
    2020-12-03 09:32

    1)

    *a = *b;
    a++;
    b++;
    

    is equivalent to

    *a = *b;
    a = a+1;
    b = b+1
    

    2)

    x = *a++
    

    is equivalent to

    x = *a;
    a = a+1;
    

    and

    *b++ = x
    

    is equivalent to

    *b = x;
    b = b+1;
    

    so

    *a++ = *b++
    

    is equivalent to

    *a = *b;
    a = a+1;
    b = b+1
    

    3)

    *(++a) = *(++b)
    

    is equivalent to

    a = a+1;
    b = b+1
    *a = *b;
    

提交回复
热议问题