进来看一下,gcc编译,运行后,输出不是我想要的数据
#include<stdio.h>/*********************************************/
/* 计算2000~2099年任一天星期几 */
/* year : 00-99 */
/* month: 01-12 */
/* day : 01-31 */
/*********************************************/
unsigned char GetWeekFromDay(unsigned char year,unsigned char month,unsigned char day)
{
if( month == 1 || month == 2 )
{
month += 12;
if( year> 0 )
year--;
else
year = 4;
}
// 返回星期几(星期一用1表示,而星期天用7表示)
return 1+(( day + 2*month + 3*(month+1)/5 + year + year/4 ) %7);
}
int main(void)
{
printf("Input Year month day :);
unsigned char num_week,num_year,num_month,num_day;
scanf("%d%d%d",&num_year,&num_month,&num_day);
num_week = GetWeekFromDay(num_year,num_month,num_day);
printf("%d\n",&num_week);
return 0;
}
在Linux下gcc编译输出的不是我要的答案啊,
声明计算星期的函数没有问题的。。
难道是gcc 不支持unsigned char,,
我输出的结果是
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_601381LGTH3P.jpg
(原文件名:week.jpg)
最后一个数字应该是0~6才对的啊,表示星期日到星期六
望高手,解释下, 你打印的是num_week的地址 printf("%d\n",num_week); 我X,晕倒。。。
页:
[1]