#include<stdio.h>
#include<stdlib.h>
//三维数组在内存里面也是线性排列
void fun3(int a[5][4][3])
{
//三个for循环赋值
int num = 0;
for(int i=0;i<5;i++)
{
for(int j=0;j<4;j++)
{
for(int k=0;k<3;k++)
{
a[i][j][k]=++num;
printf("%-5d",a[i][j][k]);
}
printf("\n");
}
printf("\n");
}
printf("内存地址:%x\n",a);
}
//用一个for循环搞定:345 345/100取出百位3,345/10%10取出十位4,345%10取出个位5
void fun1(int a[5][4][3])
{
for(int i=1;i<=3*4*5;i++)
{
a[i/20][(i/5)%4][i%5]=i;
// printf("%-5d,%-5d,%-5d",(i/20),(i/5%4),(i%5));
printf("%-5d",a[i/20][(i/5)%4][i%5]);
if(i%3==0)
{
printf("\n");
if(i%12==0)
{
printf("\n");
}
}
}
printf("内存地址:%x\n",a);
}
int main()
{
int a[5][4][3];
printf("内存地址:%x\n",a);
printf("占用内存的字节数=%d字节\n",sizeof(a));//5*4*3*4=240个字节
fun3(a);
printf("----------------------------------------------\n\n");
fun1(a);
return 0;
}
用3个for和2个for位三位数组赋值
最新推荐文章于 2023-12-10 20:34:11 发布