三维数组习题

来源:互联网 发布:四川大学成教学院网络 编辑:程序博客网 时间:2024/06/07 20:52
#include<stdio.h>#include<stdlib.h>void main1(){int num[3][4][5], x;//printf("%d\n", sizeof(num));for (int i = 0; i < 60; i++){num[i / 20][i / 5 % 4][i % 5] = i + 1;//printf("%3d", x);}for (int i = 0; i < 3; i++)//面{for (int j = 0; j < 4; j++)//行{for (int k = 0; k < 5; k++)//列{printf("%-3d", num[i][j][k]);}putchar('\n');}putchar('\n');}system("pause");}void main(){//数组用于管理多个同类型的数据//数组必须初始化,否则就会出现垃圾数据//数组在内存中按照线性方式排列//数组是可以在内存中连续存储多个元素的结构(数组在内存中连续排列)//数组中的所有元素必须属于相同的数据类型//数组下标标明了元素在数组中的位置//int num[2][3][2] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };//num[2][3][2] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };//不能这样赋值,不要混淆,这样相当于给单个元素赋值[2][3][2],并且已经越界//int num[2][3][2] = { { 1, 2, 3, 4, 5, 6 }, { 7, 8, 9, 10, 11, 12 } };//两面,一面六个元素int num[2][3][2] = { { { 1, 2 }, { 3, 4 }, { 5, 6 } }, { { 7, 8 }, { 9, 10 }, { 11, 12 } } };//两面,每一面三行,每行两列元素for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++){for (int k = 0; k < 2; k++){printf("%2d\n", num[i][j][k]);}}}system("pause");}