C語言的核心在於指針,這2個指針題目,如果你不用編譯就能得出正確的答案,那你一定是C的高手,不擇不扣的高手—指針並不難! 第一題:求p[-1]、p[-5]的值 #include <stdio.h> int main(void) { char* p = NULL; char* tmp = "12345678"; p = (char* )(tmp+4); //p[-1] = ?, p[-5] = ?。 return 0; } 第二題:求p[0]--p[5]的值 #include <stdio.h> int main(void) { char* data = "12345678"; short* tmp = NULL; char p[6] = {0}; tmp = (short *)&p[2]; *tmp = atoi(&data[4]); //p[0] = ?, p[1] = ?, p[2] = ?, p[3] = ?, p[4] = ?, p[5] = ?。 return 0; } 如果你覺得意猶未盡,那就再來一個吧: int* p = (int* )0x1234; printf("p = %p, *p = %d\n", p, *p); 這個題的答案你總該知道吧。。。。。。