已知有以下的说明int a[]={8,1,2,5,0,4,7,6,3,9};那么a[*(a+a(3))]的值
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:数学作业 时间:2024/07/26 14:22:28
已知有以下的说明int a[]={8,1,2,5,0,4,7,6,3,9};那么a[*(a+a(3))]的值
我大致的想了想是不是这样的 a(0)+a(3)是表示a(4)然后*a(4)这个量 就是5 然后a[5]就是0?是这样的么 (a(0)+a(3))数组还能相加?
我大致的想了想是不是这样的 a(0)+a(3)是表示a(4)然后*a(4)这个量 就是5 然后a[5]就是0?是这样的么 (a(0)+a(3))数组还能相加?
![已知有以下的说明int a[]={8,1,2,5,0,4,7,6,3,9};那么a[*(a+a(3))]的值](/uploads/image/z/5681222-62-2.jpg?t=%E5%B7%B2%E7%9F%A5%E6%9C%89%E4%BB%A5%E4%B8%8B%E7%9A%84%E8%AF%B4%E6%98%8Eint+a%5B%5D%3D%7B8%2C1%2C2%2C5%2C0%2C4%2C7%2C6%2C3%2C9%7D%3B%E9%82%A3%E4%B9%88a%5B%2A%28a%2Ba%283%29%29%5D%E7%9A%84%E5%80%BC)
a[*(a+a(3))] 应该不带这么写的吧...在我这里就编译不通过a(3) 会报错,说没有这样的函数.
我改成这样a[*(a+a[3])]就能输出0了
由内而外分析...首先开个数组,其各个元素的对应的内存是连续的
a是数组的首地址,指向的内存放着8的信息,而a[3]很容易知道是等价于5
即内部是a+5 这时a+5表示的是a指向内存,往后数五个int内存单元,则移到了存放4的内存空间
然后* 引用 *(a+5)就是4
最后a[4]得到0
我改成这样a[*(a+a[3])]就能输出0了
由内而外分析...首先开个数组,其各个元素的对应的内存是连续的
a是数组的首地址,指向的内存放着8的信息,而a[3]很容易知道是等价于5
即内部是a+5 这时a+5表示的是a指向内存,往后数五个int内存单元,则移到了存放4的内存空间
然后* 引用 *(a+5)就是4
最后a[4]得到0
已知有以下的说明int a[]={8,1,2,5,0,4,7,6,3,9};那么a[*(a+a(3))]的值
若有以下定义,“int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a”,则值为6的表达式是
【求助】若有说明语句:int a【10】={1,2,3,4,5,6,7,8};,则a[9]元素的值为
2.若有以下说明:int a[12]={1,2,3,4,5,6,7,8};char c='a',d,g;则数值为4的表达
14、有以下语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则对a数组元素的引用不正确的是
若有以下定义:int a[]={3,4,5,6,7,8,9,10,11},*p=a; 则值为5的表达式是( ).
若有以下定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的是( )A、p+=2;
若有int a[8]={1,2,3,4,5,6,7,8};,则a[a[0]+2*a[2]]的值是
有如下说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是 A) *
若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},p=a; 则不能表示a数组元素的表
若有以下定义,则数组元素a[2][2]的值是( ) int a[][3]={{1,2},{3,2,4},{4,5,6},
若有以下定义和语句:int a[5]={1,3,5,7,9},*p; p=&a[2]; 则++(*p)的值是__6__.