| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1312 人关注过本帖
标题:为什么变量的值会被覆盖掉, 定义时用static 也不能阻止
取消只看楼主 加入收藏
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
结帖率:92.86%
收藏
已结贴  问题点数:20 回复次数:3 
为什么变量的值会被覆盖掉, 定义时用static 也不能阻止
#include <stdio.h>
#define N 5


double fun(int w[][N])
{
    int i, j;
    static double s=0, k=0;

    for(i=0;i<N;i++)
    {
        if((i=0) || (i=4))
            for(j=0;j<N;j++)
            {
                s+=w[i][j];
                k++;
            }
        else
            for(j=0;j<N;j+4)
            {
                s+=w[i][j];
                k++;
            }
    }
    s=s/k;
    return s;
}


void main()
{
    int a[N][N]={0, 1, 2, 7, 9, 1, 9, 7, 4, 5, 2, 3, 8, 3, 1, 4, 5, 6, 8, 2, 5, 9, 1, 4, 1};
    int i, j;
    double s;
    printf("*************the array************\n");
    for(i=0;i<N;i++)
    {
        for(j=0;j<N;j++)
            printf("%4d", a[i][j]);
            printf("\n");
    }
    s=fun(a);
    printf("*************the result***********\n");
    printf("the sum is :%lf", s);
    getch();
}


为什么k和s的值会被覆盖掉, 定义是用static 也不能阻止  结果应该是等于3.375的   不过他偏偏就等于4
搜索更多相关主题的帖子: include double return 
2015-08-27 00:49
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 2楼 jklqwe111
我睡着了都被你点醒了   明白了


不要不要的。。。
2015-08-27 01:25
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 2楼 jklqwe111
啊哦



回复早了     还是不行哦

不要不要的。。。
2015-08-27 01:31
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 5楼 李掌柜
一个数字矩形  求外围数字的和 再就平均值哦。。。例如这个
1 2 3 4 5
2 3 5 4 6
4 6 3 8 9
6 4 7 4 7
3 5 4 7 6


外围
1 2 3 4 5
2       6
4       9
6       7
3 5 4 7 6


不要不要的。。。
2015-08-27 01:56
快速回复:为什么变量的值会被覆盖掉, 定义时用static 也不能阻止
数据加载中...
 
   



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

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