| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 827 人关注过本帖
标题:如何调用..
只看楼主 加入收藏
无之小刀
Rank: 1
等 级:新手上路
帖 子:38
专家分:7
注 册:2011-7-11
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:14 
如何调用..
如何把int day_of_year 函数里的值调回主函数啊!新手来的,我们上的那书讲得很简单,求推荐好书加习题..

# include <stdio.h>
int day_of_year (int x,int y,int z);
int main (void)
{
    int year,month,day;

    printf("请输入你要计算的年月日:");
    scanf("%d%d%d",&year,&month,&day);

    day_of_year (day,month,year);

    printf("day=%d\n",day);
   
    return 0;

}

int day_of_year (int x,int y,int z)
{
    int leap,k;
    int tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
   
    leap=(z%4==0 && z%100!=0 ||z%400==0);

    for(k=1;k<y;k++)
        x=x+tab[leap][k];
   
    return x;


}

[ 本帖最后由 无之小刀 于 2011-11-4 17:32 编辑 ]
搜索更多相关主题的帖子: 如何 include return 年月日 
2011-11-04 17:29
laznrbfe
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
收藏
得分:0 
程序代码:
# include <stdio.h>
int day_of_year (int &x,int &y,int &z);/////
int main (void)
{
    int year,month,day;

    printf("请输入你要计算的年月日:");
    scanf("%d%d%d",&year,&month,&day);

    day_of_year (day,month,year);

    printf("day=%d\n",day);

    return 0;

}
int day_of_year (int &x,int &y,int &z)///////
{
    int leap,k;
    int tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};

    leap=(z%4==0 && z%100!=0 ||z%400==0);

    for(k=1;k<y;k++)
        x=x+tab[leap][k];

    return x;


}
2011-11-04 18:10
laznrbfe
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
收藏
得分:0 
&:引用或者别名。
不过这是好像是C++里面的。
2011-11-04 18:12
laznrbfe
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
收藏
得分:0 
程序代码:
# include <stdio.h>
int day_of_year (int *x,int *y,int *z);/////
int main (void)
{
    int year,month,day;

    printf("请输入你要计算的年月日:");
    scanf("%d%d%d",&year,&month,&day);

    day_of_year (&day,&month,&year);

    printf("day=%d\n",day);

    return 0;

}
int day_of_year (int *x,int *y,int *z)///////
{
    int leap,k;
    int tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};

    leap=(*z%4==0 && *z%100!=0 ||*z%400==0);

    for(k=1;k<*y;k++)
        *x=*x+tab[leap][k];

    return *x;


}
2011-11-04 18:15
laznrbfe
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
收藏
得分:0 
回复 4楼 laznrbfe
这个是C语言的。
2011-11-04 18:16
laznrbfe
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
收藏
得分:3 
程序代码:
# include <stdio.h>
int day_of_year (int x,int y,int z);
int main (void)
{
    int year,month,day;

    printf("请输入你要计算的年月日:");
    scanf("%d%d%d",&year,&month,&day);

//    day_of_year (day,month,year);

    printf("day=%d\n",day_of_year (day,month,year));

    return 0;

}
int day_of_year (int x,int y,int z)
{
    int leap,k;
    int tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};

    leap=(z%4==0 && z%100!=0 ||z%400==0);

    for(k=1;k<y;k++)
        x=x+tab[leap][k];

    return x;


}
2011-11-04 18:18
laznrbfe
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
收藏
得分:0 
回复 6楼 laznrbfe
我想楼主应该只是想返回一个值(注意只能返回一个值),而不改变其它变量的值,就用6楼的方法。
如果想改变变量的值并且能在主函数使用,就使用2楼,4楼的方法。
2011-11-04 18:21
非死亡!
Rank: 8Rank: 8
来 自:四川
等 级:蝙蝠侠
帖 子:179
专家分:760
注 册:2011-10-31
收藏
得分:0 
楼上的很细心哦 嘻嘻

能力 技巧
2011-11-04 22:26
huanega
Rank: 3Rank: 3
来 自:内蒙古
等 级:论坛游侠
帖 子:117
专家分:192
注 册:2011-11-4
收藏
得分:0 
恩,楼主的意思是使用子程序里的返回值,你在main函数中定义个同类型的值接住子程序里的返回值就行了,你子程序里的返回值是x,用的时候,直接用day_of_year (day,month,year)就行。或者定义i  把day_of_year (day,month,year)赋值给i。i=day_of_year (day,month,year),这样i就是返回值了。

兴趣是编程最好的老师
2011-11-04 22:58
wuyijiang07
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:177
注 册:2011-10-21
收藏
得分:0 
楼上说的都挺不错的,看楼主到底是想实现什么了,如果紧紧是输出返回值,就很简单,不用指针传递地址也可以的,7楼和9楼正解
2011-11-05 08:52
快速回复:如何调用..
数据加载中...
 
   



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

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