#include<stdio.h>
long long int* main_pTest = (long long int*)0x7766554433221100;
int main(void)
{
char* pTest = (char*)&main_pTest;
pTest = pTest + 4;
printf("%x", *pTest);
getchar();
return 0;
}
E có đoạn code như trên. E test thử với pTest = pTest + 1 đến 3; thì ra kết quả đúng là 11 22 33 nhưng khi cộng đến 4 thì lại ra số 1. Cộng thêm 5 thì lại ra 0
Khi e thử thay 0x7766554433221100 thành 0x776655443322ab00 thì pTest + 1 lại ra ffffffab.
E đang code trên visual studio 2010 ạ
Mong mọi người giải thích giúp e với ạ. Em cảm ơn




83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?