已知有以下的说明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))数组还能相加?
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/23 13:14:44
![已知有以下的说明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))数组还能相加?](/uploads/image/z/5236148-20-8.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%E6%88%91%E5%A4%A7%E8%87%B4%E7%9A%84%E6%83%B3%E4%BA%86%E6%83%B3%E6%98%AF%E4%B8%8D%E6%98%AF%E8%BF%99%E6%A0%B7%E7%9A%84+a%280%29%2Ba%283%29%E6%98%AF%E8%A1%A8%E7%A4%BAa%EF%BC%884%EF%BC%89%E7%84%B6%E5%90%8E%2Aa%284%29%E8%BF%99%E4%B8%AA%E9%87%8F+%E5%B0%B1%E6%98%AF5+%E7%84%B6%E5%90%8Ea%5B5%5D%E5%B0%B1%E6%98%AF0%3F%E6%98%AF%E8%BF%99%E6%A0%B7%E7%9A%84%E4%B9%88+%28a%280%29%2Ba%283%29%29%E6%95%B0%E7%BB%84%E8%BF%98%E8%83%BD%E7%9B%B8%E5%8A%A0%3F)
已知有以下的说明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))数组还能相加?
已知有以下的说明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))数组还能相加?
已知有以下的说明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[*(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