c语言中*(*a+1)什么意思 int a[3][4]={{1,3,5,7},{2,4,6,8}};*(*a+1)的值

c语言中*(*a+1)什么意思
int a[3][4]={{1,3,5,7},{2,4,6,8}};*(*a+1)的值为?

第1个回答  2017-06-19
*(*a+1)这种写法是错的,a是数组第一个元素的地址,*a=1,*(*a+1)=*2,这明显是错的。追答

*后只能是指针变量,不能是常数。

追问

答案是3,*a是第一个的地址

追答

数组名本身就是数组首地址,*a是第一个元素。

第2个回答  2017-06-18
*(*a+1)==3。追问

为什么

追答

因为二维数组的*a就是a[0],而a[0]是第一行这个一维数组的首地址它指向1,也就是*a指向1;*a+1就是a[0]+1,既然a[0]是第一行第一个元素的地址,那么a[0]+1就是第二个元素的地址,也就是*a+1是第二个元素的地址;那么,取这个地址的内容*(*a+1)自然是第二个元素的值3了……

相似回答