标题:为什么变量的值会被覆盖掉, 定义时用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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-456791-1-1.html




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

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