初级会员

- 积分
- 196
- 金钱
- 196
- 注册时间
- 2015-1-16
- 在线时间
- 28 小时
|
5金钱
actEquipMonth = 6;actEquipDay=1;
void dealMonthDay(uint8 Year,uint8 Month,uint8 Day)//2月闰年29天,不闰年28天
{
if(actEquipDay==0)
{
actEquipMonth-=1;
if(actEquipMonth==0)actEquipMonth=12;
if(actEquipMonth%2!=0)actEquipDay=31;
else actEquipDay=30;
if(actEquipMonth==2)
{
if(((Year%4 == 0)&&(Year%100 != 0)) || (Year%400 == 0))//判断闰年 {
actEquipDay = 29;
else
actEquipDay = 28;
}
}
// USART_TXD_Char(actEquipMonth);
}
这个情况毫无疑问输出的是5月31日。
void dealMonthDay(uint8 Year,uint8 Month,uint8 Day)//2月闰年29天,不闰年28天
{
if(Day==0)
{
Month-=1;
if(Month==0)Month=12;
if(Month%2!=0)Day=31;
else Day=30;
if(Month==2)
{
if(((Year%4 == 0)&&(Year%100 != 0)) || (Year%400 == 0))//判断闰年 {
Day = 29;
else
Day = 28;
}
}
// USART_TXD_Char(actEquipMonth);
}
dealMonthDay(TempYear,actEquipMonth,actEquipDay);
以这种情况调用这函数就不起效果了。什么情况?
|
最佳答案
查看完整内容[请看2#楼]
如果是C++,可以用引用,不过C里面没有,你还想这样的话就只能用指针
void dealMonthDay(uint8 *Year,uint8 *Month,uint8 *Day)
{
//所有的变量都要加上 *
}
调用的话这样
dealMonthDay(&TempYear,&actEquipMonth,&actEquipDay);
|