int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};注意:地址则输出地址,变量则输出变量值,设数组a的首地址为2000求(1) a[2][1] (2)a[1] (3)a (4)a+1 (5)*a+1 (6)*(a+1) (7)a[2]+1 (8)*(a+1)+1 (9)*(*a+2)+2)一个int类型占四

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 06:07:11
int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};注意:地址则输出地址,变量则输出变量值,设数组a的首地址为2000求(1) a[2][1] (2)a[1] (3)a (4)a+1 (5)*a+1 (6)*(a+1) (7)a[2]+1 (8)*(a+1)+1 (9)*(*a+2)+2)一个int类型占四

int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};注意:地址则输出地址,变量则输出变量值,设数组a的首地址为2000求(1) a[2][1] (2)a[1] (3)a (4)a+1 (5)*a+1 (6)*(a+1) (7)a[2]+1 (8)*(a+1)+1 (9)*(*a+2)+2)一个int类型占四
int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};
注意:地址则输出地址,变量则输出变量值,设数组a的首地址为2000
求(1) a[2][1] (2)a[1] (3)a (4)a+1 (5)*a+1
(6)*(a+1) (7)a[2]+1 (8)*(a+1)+1 (9)*(*a+2)+2)
一个int类型占四个字节

int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};注意:地址则输出地址,变量则输出变量值,设数组a的首地址为2000求(1) a[2][1] (2)a[1] (3)a (4)a+1 (5)*a+1 (6)*(a+1) (7)a[2]+1 (8)*(a+1)+1 (9)*(*a+2)+2)一个int类型占四
#include <stdio.h>
void main()
{
    int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};
    printf( "1. %d\n", a[2][1] ); /*数组下标0开始,第3个数组的第2个数字*/
    printf( "2. %d\n", a[1] ); /*第2个数组的地址,2000 + 4*4 */
    printf( "3. %d\n", a );  /* a的首地址, 2000*/
    printf( "4. %d\n", a+1 ); /*a的首地址后移1个数组的大小, 2000+4*4*/
    printf( "5. %d\n", *a+1 ); /* *a取出a指向的内容,即第一个数组的地址,等于2000,*a+1是第一个数组第二个元素所在的地址2000+4, *(*a+1)=3 */    
    printf( "6. %d\n", *(a+1) ); /* a+1第2个数组的第一个元素所在地址,2000+16, *(*(a+1))=9 */
    printf( "7. %d\n", a[2]+1 ); /*第三个数组第二个元素的地址2000+8*4+4, *(a[2]+1)=19 */
    printf( "8. %d\n", *(a+1)+1 );  /* 根据第6题, *(a+1)+1是第2个数组第2个元素所在地址,2000+16+4, *(*(a+1)+1) = 11 */
    printf( "9. %d\n", *(*(a+2)+2)); /*根据第8题,a+2是第三个数组的地址,*(a+2)是取这个地址,*(a+2)+2是第3个数组第2个元素的地址,*(*(a+2)+2)是取这个地址的内容,为19 */
}