用指针的方式代替数组下标改写程序month_day

一.
#include <stdio.h>
#include <stdlib.h>
void month_day(int year,int yearday,int *pday);
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	return 0;
}
static char dayab[2][13]={{0,31,30,31,30,31,30,31,31,30,31,30,31},{0,31,30,31,30,31,30,31,31,30,31,30,31}};
void month_day(int year,int yearday){
	int leap;
	char *p;
	int *pmonth;
	int *pday;
	int month=0;
	int day;
	leap=year%4==0&&year%100!=0||year%40==0;
	p=dayab[leap];
	while(yearday>*++p[leap]){
		yearday-=*p[leap];
		month++;
	}
	*pday=yearday;
	*pmonth=month;
}<pre name="code" class="objc">#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	return 0;
}
static char dayab[2][13]={{0,31,30,31,30,31,30,31,31,30,31,30,31},{0,31,30,31,30,31,30,31,31,30,31,30,31}};  
void month_day(int year,int yearday,int *pmonth,int *pday){
	int leap;
	char *p;
	leap=year%4==0&&year%100!=0||year%400==0;
	p=dayab[leap];
	while(yearday>*++p){
		yearday-=*p;
	}
	*pmonth=p-dayab[leap];
	*pday=yearday;
}

 

这是自己写的

这有地方不对

注意1当此函数为void 类型的话应为函数中的参数是指定的值是知道的不可以将*pday在函数参数中出现!如果此函数时void 时当它返回值是几个时可以写声明同等数量的指针

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	return 0;
}
static char dayab[2][13]={{0,31,30,31,30,31,30,31,31,30,31,30,31},{0,31,30,31,30,31,30,31,31,30,31,30,31}};  
void month_day(int year,int yearday,int *pmonth,int *pday){
	int leap;
	char *p;
	leap=year%4==0&&year%100!=0||year%400==0;
	p=dayab[leap];
	while(yearday>*++p){
		yearday-=*p;
	}
	*pmonth=p-dayab[leap];
	*pday=yearday;
}

注意:月份的话是可以用地址相互减得到哩


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值