嵌入式C開發基礎題(4)

重要!!!!!)第4:考查指針,這道題只適合於那些特別細心且對指針和數組有深入理解的人

#include<stdlib.h>
#include<stdio.h>

int main()
{
	int a[5] = {1,2,3,4,5};
	int* ptr = (int*)(&a+1);
	printf("%d %d\n" , *(a+1), *(ptr-1) );
	return 0;
}

這段程序的輸出是:

(a) 2 2   (b) 2 1  (c) 2 5    (d)以上均不是

解答:

a的類型是一個整型數組,它有5個成員

&a的類型是一個整型數組的指針

所以&a+ 1指向的地方等同於a[6]


所以*(a+1)等同於a[1]

ptr等同a[6],(ptr-1)就等同與a[5]




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章