| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 948 人关注过本帖
标题:为什么数组b的值在调用函数后全变0了
只看楼主 加入收藏
zhengchen080
Rank: 1
等 级:新手上路
帖 子:21
专家分:3
注 册:2013-7-29
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:13 
为什么数组b的值在调用函数后全变0了
#include<stdio.h>
int b[12];
int rn(int a,int y,int r)
{
    int i,d;
    if((a%4==0&&a%100!=0)||(a%100==0&&a%400==0))
    {
        int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
        for(i=0,d=0;i<y-1;i++)
        {
            d=d+b[i];
        }
        d=d+r;
    }
    else
    {
        int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
        for(i=0,d=0;i<y-1;i++)
        {
            d=d+b[i];
        }
        d=d+r;
    }
    return(d);
}
main()
{
    int n,y,r,i;
    scanf("%d,%d,%d",&n,&y,&r);
    for(i=0;i<11;i++)
        printf("%d ",b[i]);
    printf("\n%d年的第%d天",n,rn(n,y,r));
}
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 zhengchen080 于 2013-8-13 13:38 编辑 ]
搜索更多相关主题的帖子: include return 
2013-08-13 13:30
zhengchen080
Rank: 1
等 级:新手上路
帖 子:21
专家分:3
注 册:2013-7-29
收藏
得分:0 
为什么没人
2013-08-13 13:40
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:3 
#include<stdio.h>
int b[12];
全局遍历,默认初始化0吧,你都没有对他进行修改,当然是0 了

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-08-13 14:04
zhengchen080
Rank: 1
等 级:新手上路
帖 子:21
专家分:3
注 册:2013-7-29
收藏
得分:0 
回复 3楼 yuccn
怎么修改求指教
2013-08-13 15:09
h13352825861
Rank: 2
来 自:中国
等 级:论坛游民
威 望:1
帖 子:39
专家分:72
注 册:2013-8-8
收藏
得分:3 
这样就可以了:
#include<stdio.h>
int b[12];
int rn(int a,int y,int r)
{
    int i,d;
    if((a%4==0&&a%100!=0)||(a%100==0&&a%400==0))
    {
        int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
        for(i=0;i<11;i++)
        {printf("%d ",b[i]);}
        for(i=0,d=0;i<y-1;i++)
        {
            d=d+b[i];
        }
        d=d+r;
    }
    else
    {
        int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
        for(i=0;i<11;i++)
        {printf("%d ",b[i]);}
        for(i=0,d=0;i<y-1;i++)
        {
            d=d+b[i];
        }
        d=d+r;
    }   
   
    return(d);
}
main()
{
    int i,n,y,r;
    scanf("%d,%d,%d",&n,&y,&r);
    printf("\n%d年的第%d天\n",n,rn(n,y,r));
}

相信汗水会让未来充满满了阳光!
2013-08-13 15:39
zhengchen080
Rank: 1
等 级:新手上路
帖 子:21
专家分:3
注 册:2013-7-29
收藏
得分:0 
回复 5楼 h13352825861
我的目的不是要打印b数组的值,而是想在调用函数之后b的数组的值能随之改变
2013-08-13 16:11
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
这是我以前写的一个函数  返回一年中某一日的天数
程序代码:
int year_sumday(int year,int month,int day)
{
    int sum=0;
    int rui[12]={31,29,31,30,31,30,31,31,30,31,30,31};
    int ping[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    int ruiflag=0;
    if((year%4==0 &&year%100!=0) || year%400==0) ruiflag=1;
    for(int index=0;index<month-1;index++)
    {
        if(ruiflag==1) sum+=rui[index];else sum+=ping[index];
    }
    sum+=day;
    return sum;
}



DO IT YOURSELF !
2013-08-13 16:17
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
你用2个  int b[12] 的初始化方式 也太奇葩了

DO IT YOURSELF !
2013-08-13 16:18
zhengchen080
Rank: 1
等 级:新手上路
帖 子:21
专家分:3
注 册:2013-7-29
收藏
得分:0 
回复 8楼 wp231957
我运行了下 不行啊
2013-08-13 16:54
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用zhengchen080在2013-8-13 16:54:11的发言:

我运行了下 不行啊
不行是啥东东  你是咋用的

DO IT YOURSELF !
2013-08-13 16:57
快速回复:为什么数组b的值在调用函数后全变0了
数据加载中...
 
   



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

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