天天看點

[置頂] *p++/*++p差別-linux

#include <stdio.h>

main()
{
        char * s = "123456";
        char * p;
        p = s;

        printf( "%c\n", *p++ );
        printf( "%c\n", *p++ );

        p = s;

        printf( "%c\n", *++p );
        printf( "%c\n", *++p );
}
      

結果:

1

2

3

解析:

1、由于 ++ 的優先級高于 * 所有可以寫成 *++p ,為了直覺,最好寫成 *(++p)。

2、p++ 隻有在函數結束後才會進行 加 操作,所有這個取到的值時 p 指針的值。

繼續閱讀