【笔记】二维数组实现和二维数组的调换
本帖最后由 奋斗丶小Z 于 2016-6-27 23:39 编辑实现二维数组和二维数组的调换
int a = {{1,2,3},{9,8,7}};//两行三列
int b = {{0}{0}{0}};//三行两列,都赋值为0;实现功能b = a 吧a赋值给b数组的b
程序算法
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int a = {{1,2,3},{9,8,7}};
int b = {{0}{0}{0}}//要事先定义两个变量,一个代表行,一个代表列,这里分别定义i 和j
int i ,j; //可以把它们带到数组里面,分别成为了a;b//注意这里是放在for循环里面才行,因为数组不允许动态赋值
for(i=0;i<=1;i++)//这里为什么是i<=1那?因为咱们事先先计算数组a然后赋值给b的所以a的下标是从0开始的,<=1就是执行了2次,而a就有2行三列
{
for(j=0;j<=2;j++)//为什么是2,因为是3列,所以下标是从0开始的,就实现了外部一次循环,内部进行了三次循环
{
printf("a = %d\n",a);//打印出a的行和列,行是i 列是j
b = a;//这句话特别重要,为什么不是b而是b 首先i是行,咱们已经事先声明了b数组是3行2列,如果是i和j的话就成了b是2行三列了,而且数组不允许这样赋值,但是反过来想想那,如果把列给b 吧行给b 是不是就和b相对应了
/*
然后把a = a 赋值 给b就可以了.b 可以存储b;事先数组互相转换然后输出B*/
printf("b = %d\n",b);
}
}
system("pause");//防止窗口一闪而过
return 0;
}
如果帖子对你有帮助请给点CB和热心.我会不定时的把我所学的小算法上传的.
因为没有找到源码分享区,只能放在这里了.如果管理大大看到,或者帖子不该发在这种地方请@我一下,然后把我的帖子放在适合他的地方.谢谢.
前排前排 ubuntu 发表于 2016-6-25 22:04
像我这种懒蛋一般就不给b数组赋初值了,支持楼主。
不要这样吗,不要偷懒,对自己的一个锻炼. 你这样还不好理解,就按数组的定义来,
for( i = 0; i < Max; i++) 这个是不会越界的,
比如Ary
i = 2 的时候在第三个元素, i = 3的时候刚好就退出了, asip2001 发表于 2017-11-15 21:13
一维数组和二维数值都没有任何用处,不信你以后汇编语言
数组寻址而已,这里是高级语言.
页:
[1]