已知有以下的说明 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])], 我们需要逐步分析:

  1. a[3] 的值: 根据数组定义,a[3] = 5。

  2. a[a[3]] 的值: 由于 a[3] = 5,所以 a[a[3]] 等于 a[5],而 a[5] = 4。

  3. *(a+a[3]) 的值: *(a+a[3]) 等于 *(a+5),表示数组 a 的第 5 个元素的地址。

  4. 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

C语言数组指针运算:a[*(a+a[3])] 的值

原文地址: http://www.cveoy.top/t/topic/bWdt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录