#if 1
#include
using namespace std;
int main()
{
char str[] = "12345";
long pLong = (long)str;
pLong++;
printf("%d\n", pLong);
return 0;
}
#endif
#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