鱼C论坛

 找回密码
 立即注册
查看: 4623|回复: 6

c数组输出问题

[复制链接]
发表于 2012-9-10 21:53:32 | 显示全部楼层 |阅读模式
5鱼币
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         int a[2][3]={{2,4,6},{8,10,12}};
  5.         int i,j;
  6.         for(i=0;i<2;i++)
  7.         {
  8.                 for(j=0;j<3;j++)
  9.                  printf("%4d",a[i][j]);
  10.         }
  11.          printf("\n");
  12.          for(i=0;i<2;i++)
  13.         {
  14.                 for(j=0;j<3;j++)
  15.                  printf("%4d",a[i][j]);
  16.        
  17.    printf("\n");
  18.          }
  19.    return 0;
  20. }
复制代码


上面代码第二次输出时,是不是按列输出?如果不是,怎样改?
另外printf("\n");在循环体内与循环体外的区别是?求解释下作用的差别!!

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-10 21:58:25 | 显示全部楼层
囧,你试一试不就知道了。。。。话说。。。第二个只是在每行输出后加了个回车换行啊。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-10 22:12:34 | 显示全部楼层
  1. #include<stdio.h>
  2. int main() {
  3.         int a[2][3]={{2,4,6},{8,10,12}};
  4.         int i,j;
  5.         for(i=0;i<2;i++) {
  6.                         for(j=0;j<3;j++)
  7.                  printf("%4d",a[i][j]);
  8.         }
  9.         printf("\n");
  10.         for(j=0;j<3;j++) {
  11.             for(i=0;i<2;i++)
  12.                  printf("%4d",a[i][j]);
  13.             printf("\n");
  14.         }
  15.    return 0;
  16. }
复制代码
在循环体内循环几次执行几次。在循环体外,不管循环几次就执行一次
你数数输出的换行个数就知道了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-11 16:04:52 | 显示全部楼层
  1. #include<stdio.h>

  2. int main()

  3. {

  4.         int a[2][3]={{2,4,6},{8,10,12}};

  5.         int i,j;

  6.         for(i=0;i<2;i++) //在此循环里面 当i = 0 的时候 输出 j(0,1,2)所以是先输出第一行的,然后 i= 2;输出第二行;

  7.         {

  8.                 for(j=0;j<3;j++)

  9.                  printf("%4d",a[i][j]);

  10.         }

  11.          printf("\n");

  12.          for(i=0;i<2;i++)

  13.         {

  14.                 for(j=0;j<3;j++)

  15.                  printf("%4d",a[i][j]);

  16.         
  17.                                  printf("\n");//printf();保证 你每输出 一行 循环结束,然后进行换行
  18.                                                                
  19.                        

  20.          }

  21.    return 0;

  22. }//是按照行输出的

  23. /*可以这么理解
  24. for(i=0;i<2;i++)

  25.         {

  26.                 for(j=0;j<3;j++)

  27.                 {
  28.                                         printf("%4d",a[i][j]);

  29.                                 }
  30.                                  printf("\n");//printf();保证 你每输出 一行 循环结束,然后进行换行
  31.                                                                
  32.                        

  33.          }
  34. */
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-11 19:57:16 | 显示全部楼层
第二次的输出,回车是在 j 完成一次循环后输出,
LZ第二次输出的printf前面的空格不够啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-11 21:10:17 | 显示全部楼层
  1. for(i=0;i<2;i++)
  2.         {
  3.                 for(j=0;j<3;j++)
  4.                  printf("%4d",a[i][j]);
  5.         }
  6.          printf("\n");//这个\n是打印完所有的元素之后换行
复制代码
  1.          for(i=0;i<2;i++)
  2.         {
  3.                 for(j=0;j<3;j++)
  4.                  printf("%4d",a[i][j]);
  5.         
  6.    printf("\n");//这个\n是大循环每循环一次之后就换一次行!只要i控制的循环每循环一次就会有一个换行的操作,打印出来的会被分出行!
  7.          }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-24 15:40:14 | 显示全部楼层
不明白你是要干嘛。是不是要把它改成三行两列啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-15 02:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表