若有说明语句"int a[2][4]={o,1,2,3,4,5,6,7},,* p=a[1]; ",则表达式*(*(a+1)+1)**(p+1)的值是
时间: 2024-05-21 19:15:38 浏览: 59
根据数组名a的定义,a是一个二维数组,其中有两个一维数组,每个一维数组有4个元素。因此,a[1]表示数组a中的第二个一维数组,即{4,5,6,7}。
根据指针p的定义,p指向a[1]的首元素,即4。因此,p+1指向a[1]的第二个元素,即5。
综上,*(*(a+1)+1)**(p+1)等价于a[1][1]*(*(p+1)),即5*6=30。因此,表达式的值为30。
相关问题
若有说明语句"int a[2][4]={o,1,2,3,4,5,6,7},*p=a[1]; ",则表达式*(*(a+1)+1)**(p+1)的值是
首先,`a`是一个二维数组,其中`a[2][4]`表示有两行四列的数组。初始化时,第一行为`{0, 1, 2, 3}`,第二行为`{4, 5, 6, 7}`。
然后,`*p`表示`p`所指向的整型数,即`a[1][0]`,即`4`。注意,`p`是一个指向整型数的指针,它指向`a`数组的第二行,即`a[1]`。
接着,`*(a+1)`表示`a`数组的第二行,即`{4, 5, 6, 7}`。因此,`*(a+1)+1`表示该行的第二个元素,即`5`。
最后,`*(*(a+1)+1)**(p+1)`表示`5*5`,即`25`。
因此,表达式`*(*(a+1)+1)**(p+1)`的值是`25`。
若有说明语句"int a[2][4]={o,1,2,3,4,5,6,7},,*p=a[1]; ",则表达式*(*(a+1)+1)**(p+1)的值是
表达式*(*(a+1)+1)**(p+1)的值为 5。
解释:
- 表达式 *(a+1) 指向 a 数组的第二行,即 {4, 5, 6, 7}。
- 表达式 *(a+1)+1 指向第二行的第二个元素,即 5。
- 表达式 *(p+1) 指向 p 数组的第二个元素,即 1。
- 因此,*(*(a+1)+1)**(p+1) 就是 5 * 1,即 5。
阅读全文