C语言数组指针运算:a[*(a+a[3])] 的值
已知有以下的说明 int a[] = {8,1,2,5,0,4,7,6,3,9};,那么 a[*(a+a[3])] 的值为( )
A. 0
B. 5
C. 4
D. 7
解析:
为了求解 a[*(a+a[3])], 我们需要逐步分析:
-
a[3] 的值: 根据数组定义,a[3] = 5。
-
a[a[3]] 的值: 由于 a[3] = 5,所以 a[a[3]] 等于 a[5],而 a[5] = 4。
-
*(a+a[3]) 的值: *(a+a[3]) 等于 *(a+5),表示数组 a 的第 5 个元素的地址。
-
a[*(a+a[3])] 的值: 由于 (a+a[3]) 是 a[5] 的地址,所以 a[(a+a[3])] 等于 a[4],而 a[4] = 0。
因此,a[*(a+a[3])] 的值为 0。
答案是 A. 0
原文地址: http://www.cveoy.top/t/topic/bWdt 著作权归作者所有。请勿转载和采集!