#if 1
#include
using namespace std;
int main()
{
char str[] = "12345";
long pLong = (long)str;
pLong++;
printf("%d\n", pLong);
return 0;
}
#endif
這代碼在我的編譯器上沒法編譯
我修改了下
#include <stdio.h>
int main()
{
char str[] = "12345";
long *pLong = (long*)str;
pLong++;
printf("%d\n", (int)*pLong);
return 0;
}
結果是53。
內存是這樣的(十進制)
49 50 51 52 53 0 0 0 0...
你pLong++,向後移動4字節。因為intel是小端處理器,所以是53