| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 496 人关注过本帖
标题:求租关于一个简单的二维数组输出函数的错误
只看楼主 加入收藏
boruili
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-6-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
求租关于一个简单的二维数组输出函数的错误
各位大神,小弟初学C语言,自己编写了一个2行3列二维数组的输出函数。代码如下:
#include<stdio.h>

void outputlinerow(int *an, int Line, int Row)
{
    int j;
    int i;
    for(i=0;i<Row;i++)
    {
       for(j=0;j<Line;j++)
          {
                 printf("%d,",an[j+i*Line]);
                 if(j=Line-1)
                 printf(" \n");
                 
          }
    }
}
#define Row 2
#define Line 3
int main()
{
    int an[Row*Line]={1,2,3,4,5,6};
    outputlinerow(an, Line, Row);
}
数出结果如下:
1,
4
理想的期望输出结果为:
1,2,3,
4,5,6,
想了好久也没找出哪里出错了,怀疑可能是程序中的嵌套在第二个for里的if语句有错,求各位大神帮帮忙,小弟不胜感激。
搜索更多相关主题的帖子: 求租 C语言 include 
2013-06-11 10:53
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:10 
int an[Row*Line]={1,2,3,4,5,6};
这不是二维数组,是一维

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-06-11 11:00
boruili
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-6-11
收藏
得分:0 
回复 2楼 pauljames
谢,是的。不过只想达到分行输出的效果和练习下指针。能帮忙看下为什么if那个语句放在如图的位置结果就输出错了吗?其实只要把这个if移到第二个for{}的后面就能得到正确结果,不过小弟我特别想知道为什么按上图的编会错,谢!
2013-06-11 11:15
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:0 
#include<stdio.h>
#define ROW 2
#define COL 3
void outputlinerow(int (*an)[COL], int row)
{
    int i;
    int j;
    for(i=0;i<row;i++)
    {
       for(j=0;j<COL;j++)
                 printf("%d,",an[i][j]);
    printf("\n");               
         
    }
}
int main(void)
{
    int an[ROW][COL]={{1,2,3},{4,5,6}};
    outputlinerow(an,ROW);
    return 0;
}

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-06-11 11:21
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:10 
#include<stdio.h>

 void outputlinerow(int *an, int Line, int Row)
 {
     int j;
     int i;
     for(i=0;i<Row;i++)
     {
        for(j=0;j<Line;j++)
           {
               if(j<=Line-1)
                 printf("%d,",an[j+i*Line]);      
           }
        printf(" \n");
     }
 }
 #define Row 2
 #define Line 3
 int main()
 {
     int an[Row*Line]={1,2,3,4,5,6};
     outputlinerow(an, Line, Row);
 }

学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-11 11:22
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
for(i=0;i<Row;i++)
    {
       for(j=0;j<Line;j++)
          {
                 printf("%d,",an[j+i*Line]);
                 if(j==Line-1)
                 printf(" \n");
                 
          }
    }
收到的鲜花
  • boruili2013-06-11 11:36 送鲜花  3朵   附言:我很赞同

www.qunxingw.wang
2013-06-11 11:23
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
不得不说的一个不可原谅的错误:

if里 的判断语句里面写成了赋值(你是想想写等号?==)。。。

收到的鲜花
  • boruili2013-06-11 11:36 送鲜花  3朵   附言:我很赞同

学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-11 11:23
boruili
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-6-11
收藏
得分:0 
回复 7楼 蚕头燕尾
对的,谢谢你。就是这个原因,十分感激。
2013-06-11 11:34
boruili
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-6-11
收藏
得分:0 
回复 7楼 蚕头燕尾
谢谢,错把赋值当等号了。找到原因了,谢!
2013-06-11 11:35
快速回复:求租关于一个简单的二维数组输出函数的错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053831 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved