IBinary 发表于 2016-6-25 20:09

【笔记】二维数组实现和二维数组的调换

本帖最后由 奋斗丶小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和热心.我会不定时的把我所学的小算法上传的.
因为没有找到源码分享区,只能放在这里了.如果管理大大看到,或者帖子不该发在这种地方请@我一下,然后把我的帖子放在适合他的地方.谢谢.

混丶沌灬 发表于 2016-6-25 22:32

前排前排

IBinary 发表于 2016-6-25 23:05

ubuntu 发表于 2016-6-25 22:04
像我这种懒蛋一般就不给b数组赋初值了,支持楼主。

不要这样吗,不要偷懒,对自己的一个锻炼.

11212122 发表于 2016-7-1 22:34

你这样还不好理解,就按数组的定义来,

for( i = 0; i < Max; i++) 这个是不会越界的,

比如Ary

i = 2 的时候在第三个元素, i = 3的时候刚好就退出了,

IBinary 发表于 2017-11-16 01:40

asip2001 发表于 2017-11-15 21:13
一维数组和二维数值都没有任何用处,不信你以后汇编语言

数组寻址而已,这里是高级语言.
页: [1]
查看完整版本: 【笔记】二维数组实现和二维数组的调换