c语言不用一幅语句判断某一天是不是这一年里的怎么做
时间: 2024-09-07 13:01:06 浏览: 42
在 C 语言中,判断某一天是否在当前年份内,可以利用 `time_t` 或者 `struct tm` 结构体以及 `mktime()` 函数来实现。以下是一个简单的示例:
```c
#include <stdio.h>
#include <time.h>
int is_day_in_year(int day, int month, int year) {
struct tm date;
// 设置日期结构体
date.tm_mday = day; // 日
date.tm_mon = month - 1; // 月从0开始计数
date.tm_year = year - 1900; // 年份减去1900
// 将tm结构转换为时间戳
time_t t = mktime(&date);
// 如果转换成功,说明该日期在给定年份内,反之则不在
if (t != (time_t)-1) {
return 1; // 是该年的这一天
} else {
return 0; // 不是该年的这一天
}
}
int main() {
int day, month, year;
printf("请输入天、月、年:");
scanf("%d %d %d", &day, &month, &year);
if (is_day_in_year(day, month, year)) {
printf("%d-%02d-%04d 是有效的一天\n", year, month+1, day);
} else {
printf("%d-%02d-%04d 不是有效的一天\n", year, month+1, day);
}
return 0;
}
```
阅读全文