| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1999 人关注过本帖
标题:请问大神函数引用的相关问题,帮忙修改一下代码
只看楼主 加入收藏
fredia
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2016-3-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
请问大神函数引用的相关问题,帮忙修改一下代码
程序代码:
#include<stdio.h>
int main()
{
    int day;
    int day_of_year(2012,5,12);
    printf("%d\n",day);
    return 0;
}
int day_of_year(int year,int month,int day)
{
    int k,leap;//数组初始化
    int tab[2][13]={{0,31,29,31,30,31,30,31,31,30,31,30,31},
    {0,31,29,31,30,31,30,31,31,30,31,30,31}};
    //判断闰年
    leap=(year%4==0&&year%100!=0||year%400==0);
    //计算天数
    for(k=1;k<month;k++)
        day=day+tab[leap][k];
    return day;
}
就这个  请大神看下
2016-03-09 17:41
fredia
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2016-3-3
收藏
得分:0 
大神快来吧  在线等  谢谢啦
2016-03-09 17:46
fredia
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2016-3-3
收藏
得分:0 
Compiling...
数组.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\练习2\数组.cpp(5) : error C2078: too many initializers
Error executing cl.exe.
这是报错
2016-03-09 17:50
hzxsyzl
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:68
注 册:2016-3-8
收藏
得分:3 
主函数是不是有问题。
2016-03-09 17:57
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:3 
#include<stdio.h>

int day_of_year(int year, int month, int day)
{
    int k, leap;//数组初始化
    int tab[2][13] = { { 0,31,29,31,30,31,30,31,31,30,31,30,31 },
    { 0,31,29,31,30,31,30,31,31,30,31,30,31 } };
    //判断闰年
    leap = (year % 4 == 0 && year % 100 != 0 || year % 400 == 0);
    //计算天数
    for (k = 1; k<month; k++)
        day = day + tab[leap][k];
    return day;
}
int main()
{
    int day;
    day = day_of_year(2012, 5, 12);
    printf("%d\n", day);
    return 0;
}
2016-03-09 18:01
fredia
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2016-3-3
收藏
得分:0 
回复 5楼 grmmylbs
是顺序的原因吗
2016-03-09 18:44
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:3 
程序代码:
#include<stdio.h>

int day_of_year(int year,int month,int day);  //先声明函数

int main()
{
    int day;
    day = day_of_year(2012,5,12); //这里
    
    printf("%d\n",day);
    
    return 0;
}

int day_of_year(int year,int month,int day)
{
    int k,leap;

    int tab[2][13]={{0,31,29,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};

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

    for(k=1;k<month;k++)
        day=day+tab[leap][k];
    
    return day;
}

   唯实惟新 至诚致志
2016-03-09 19:36
z13631440976
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
威 望:2
帖 子:40
专家分:118
注 册:2016-3-5
收藏
得分:3 
#include<stdio.h>
int day_of_year(int year,int month,int day);
int main()
 {
     int day;
     day=day_of_year(2012,5,12);
     printf("%d\n",day);
     return 0;
 }
int day_of_year(int year,int month,int day)
 {
     int k,leap;//数组初始化
    int tab[2][13]={{0,31,29,31,30,31,30,31,31,30,31,30,31},
     {0,31,29,31,30,31,30,31,31,30,31,30,31}};
     //判断闰年
    leap=(year%4==0&&year%100!=0||year%400==0);
     //计算天数
    for(k=1;k<month;k++)
    {
         day=day+tab[leap][k];
    }
     return day;
 }
是因为你将主函数放在被调用函数之后,被调用的函数没有在主函数之前被声明。

任何被调用函数都必须先声明或者将主函数放到被调用函数之后

  


2016-03-09 19:43
虫子樱桃
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2010-5-30
收藏
得分:3 
把函数定义显式申明下就是了

专业AutoIt脚本撸er~~
2016-03-09 20:43
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:3 
楼主的主要错误是函数未声明。这个代码我又祭出我原来的一句话代码如下(经过验证):
#include<stdio.h>
int main()
{
    int day;
    int day_of_year(int,int,int);
    printf("%d\n",day_of_year(2012,5,12));
    return 0;
}
int day_of_year(int year,int month,int day)
{
    int m,y=year;
    for(m=1;m<month;m++)day+=30+(m<8)*m%2+(m>7)*(!(m%2))-(m==2)*(2-((!(y%4)&&(y%100))||!(y%400)));
    return day;
}

能编个毛线衣吗?
2016-03-09 21:22
快速回复:请问大神函数引用的相关问题,帮忙修改一下代码
数据加载中...
 
   



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

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