| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 317 人关注过本帖
标题:关于数组的一个问题,谁给解释一下?谢啦
只看楼主 加入收藏
tudou2xigua
Rank: 2
等 级:论坛游民
帖 子:87
专家分:54
注 册:2011-3-20
结帖率:90.32%
收藏
已结贴  问题点数:20 回复次数:3 
关于数组的一个问题,谁给解释一下?谢啦
#include<stdio.h>
void main()
{
    int i,j,row=0,colum=0,max=0;
    int a[3][4];
    for(i=0;i<=2;i++)
        for(j=0;j<=3;j++)
        {
            scanf("%d",&a[i][j]);
            if(a[i][j]>max)
            {max=a[i][j];
            row=i;
            colum=j;
            }
        }
        printf("max=%d,row=%d,colum=%d",max,row,colum);
}




#include<stdio.h>
void main()
{
    int i,j,row=0,colum=0,max;
    int a[3][4];
    for(i=0;i<=2;i++)
        for(j=0;j<=3;j++)
        {
            scanf("%d",&a[i][j]);
            max=a[0][0];
            if(a[i][j]>max)
            {max=a[i][j];
            row=i;
            colum=j;
            }
        }
        printf("max=%d,row=%d,colum=%d",max,row,colum);
}

上面那个是对的,我不太明白那个max,为啥用max=0和max=【0】【0】 运行结果不一样呢?谁能解释一下...max=0时输出结果正确。

搜索更多相关主题的帖子: include 
2011-04-09 14:35
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:0 
两个程序都不对,第一个如果都的输入负数的话,就会出错。
 int i,j,row=0,colum=0,max;
    int a[3][4];
    for(i=0;i<=2;i++)
        for(j=0;j<=3;j++)
        {
            scanf("%d",&a[i][j]);
            if(i==0&&j==0)max=a[0][0];   //第一个数据,作为初始最大值,再和其他的数据比较。
            if(a[i][j]>max)
            {max=a[i][j];
            row=i;
            colum=j;
            }
        }
2011-04-09 14:41
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
第二个是运行for时,max重新赋值,是a[0][0];第一个如果是负数,就是错误的结果。
2011-04-09 14:53
xiaoqi0110
Rank: 2
等 级:论坛游民
帖 子:55
专家分:52
注 册:2010-8-15
收藏
得分:20 
第二个程序中max=a[0][0];初始化语句不能放在这儿,如果放在这儿每次循环它都认为第一个是最小的,所以就出错了!!!而且应该将if语句中的括号去掉,正确的程序如下:
#include<stdio.h>
void main()
{
    int i,j,row=0,colum=0,max=0;
    int a[3][4];
    for(i=0;i<=2;i++)
        for(j=0;j<=3;j++)
        {
            scanf("%d",&a[i][j]);
            if(a[i][j]>max)
                   max=a[i][j];
                row=i;
                colum=j;
            
        }
    printf("max=%d,row=%d,colum=%d",max,row,colum);
}
2011-04-09 15:32
快速回复:关于数组的一个问题,谁给解释一下?谢啦
数据加载中...
 
   



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

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