| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 723 人关注过本帖
标题:为什么一定要初始化呢?
只看楼主 加入收藏
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
结帖率:97.44%
收藏
已结贴  问题点数:10 回复次数:5 
为什么一定要初始化呢?
#include"stdio.h"
#define ROWS 3
#define COLS 4
void sum_rows(int ar[][COLS],int rows);
void sum_cols(int [][COLS],int);
int sum2d(int (*ar) [COLS],int rows);
int main(void)
{
    int junk[ROWS][COLS]={
        {2,4,6,8},
        {3,5,7,9},
        {12,10,8,6},
    };

    sum_rows(junk,ROWS);
    sum_cols(junk,ROWS);
    printf("Sum of all elements=%d\n",sum2d(junk,ROWS));
    return 0;
}
void sum_rows(int ar[][COLS],int rows)
{
    int r;
    int c;
    int tot=0;//这里为什么tot要初始化呢?教材上的例程没有初始化,编译通不过,我把它初始化了,就通过了!我的环境是:VS2010
    for(r=0;r<ROWS;r++)
    {
        tot=0;
        for(c=0;c<COLS;c++)
            tot+=ar[r][c];
        printf("row %d:sum=%d\n",r,tot);
    }
}
void sum_cols(int ar[][COLS],int rows)
{
    int r;
    int c;
    int tot=0;//这里也是

    for(c=0;c<COLS;c++)
    {
        for(r=0;r<ROWS;r++)
            tot+=ar[r][c];
    printf("col %d:sum=%d\n",c,tot);
    }
}

int sum2d(int ar[][COLS],int rows)
{
    int r;
    int c;
    int tot=0;//还有这里!
    for(r=0;r<rows;r++)
        for(c=0;c<COLS;c++)
            tot+=ar[r][c];
    return tot;
}
搜索更多相关主题的帖子: return 
2011-03-21 18:28
PP_make
Rank: 2
等 级:论坛游民
帖 子:21
专家分:62
注 册:2010-4-25
收藏
得分:2 
第一个就不需要了,第二, 第三个得赋初值才是, 都属于局部变量~~
2011-03-21 18:52
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:2 
同意楼上的!VS里面的变量尽量要初始化,要不容易报错,使用都不会出错,要形成良好的习惯!

   唯实惟新 至诚致志
2011-03-21 19:54
变幻小子
Rank: 6Rank: 6
来 自:广东陆丰
等 级:侠之大者
帖 子:188
专家分:473
注 册:2011-3-4
收藏
得分:2 
这个问题有待研究

明天的梦
2011-03-21 21:38
我是传奇
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:88
专家分:109
注 册:2011-3-21
收藏
得分:2 
要是不初始化,那么它的数据是不是随机读取呢/
2011-03-22 12:35
劇終の後
Rank: 1
等 级:新手上路
帖 子:6
专家分:6
注 册:2010-12-31
收藏
得分:2 
在子函数的for循环中“tot+=ar[r][c];”如果tot没有初值的话,那加出来的数就可能不对。

2011-03-23 16:03
快速回复:为什么一定要初始化呢?
数据加载中...
 
   



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

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