| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 504 人关注过本帖
标题:求解 关于类型转换的问题
取消只看楼主 加入收藏
紫冰点
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-9-1
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:3 
求解 关于类型转换的问题
#include<stdio.h>


    struct date{
   
     int year;
     int month;
     int day;   
   
    };

   

 
 int  DAY(struct date Day){


     int sum=0;

    if((Day.year%4==0)&&(Day.year%100!=0)||(Day.year%400==0)){
        if(Day.month==1)
            sum=Day.day;
        else
            if(Day.month<=2)
               sum=31*Day.month/2+Day.day;        
            else
               if(Day.month%2!=0)
                 sum=31*Day.month/2+(Day.month/2-1)*30+28+Day.day;
               else
                 sum=31*Day.month/2+30*(Day.month/2-2)+28+Day.day;
            
        printf("今年是一个闰年!\n");
   
    }
    else{
           if(Day.month==1)
            sum=Day.day;
        else

        if(Day.month<=2)
          sum=31*Day.month/2+Day.day;        
        else
            if(Day.month%2!=0)
               sum=31*Day.month/2+(Day.month/2-1)*30+29+Day.day;
            else
                sum=31*Day.month/2+30*(Day.month/2-2)+29+Day.day;
   
    printf("今年是平年!\n");
    }
   printf("the day is %d\n",sum);

    }



void main(){
  
    struct date a;

    printf("enter a\n");
    scanf("%d %d %d",&a.year,&a.month,&a.day);
   
    int  DAY(a);

   

}这是今天编写的一个使用结构体确定某一年的某一天是今年的多少天的问题,但是最后在有这样一句报错,请教各位帮助解答 真诚谢过!本人刚自学C语言 所以有点白 请包涵
图片附件: 游客没有浏览图片的权限,请 登录注册
!!!
搜索更多相关主题的帖子: include 400 
2012-09-03 20:14
紫冰点
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-9-1
收藏
得分:0 
回复 2楼 zklhp
嗯 谢谢版主  我按照楼主说的作了修改 但是结果如下:
图片附件: 游客没有浏览图片的权限,请 登录注册
又多出来一个error!!!而且我又换一种想法就是把使用return返回sum,返回值为整型变量,局部修改如下,谢谢诸位帮助解答一下 谢谢了!!!

  
    printf("今年是平年!\n");
    }
   
    return sum;
   
    }



void main(){
  
    struct date a;

    printf("enter a\n");
    scanf("%d %d %d",&a.year,&a.month,&a.day);
   
   int c=DAY(a);

   printf("the day is %d\n",sum);
}

[ 本帖最后由 紫冰点 于 2012-9-3 22:19 编辑 ]
2012-09-03 21:44
紫冰点
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-9-1
收藏
得分:0 
回复 6楼 紫冰点
谢谢版主  小弟纠正上面的一个问题
刚才我又调整了一下,
 就是在使用return返回值之后把sum设为全局变量 然后编译就能通过了  
谢谢各位帮忙 !!!
2012-09-03 21:49
紫冰点
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-9-1
收藏
得分:0 
回复 8楼 heifeng2012
  是的 第一次把sum设为了局部变量 如果printf在主函数内便会编译报错 所以我修改为全局变量 然后新增添了C为int类型起到传递函数值的作用 结果又重新编译发现不需要,所以可以删除int c=
2012-09-03 22:24
快速回复:求解 关于类型转换的问题
数据加载中...
 
   



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

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