输入一个日期输出它的前一天 c语言
时间: 2024-12-29 20:30:47 浏览: 32
在C语言中,你可以通过标准库`<time.h>`和`<stdio.h>`来处理日期,并使用`struct tm`结构体来表示日期和时间。下面是一个简单的函数示例,它接受一个字符串形式的日期(如"YYYY-MM-DD"),并返回前一天的日期:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 函数:获取前一天的日期
char* get_previous_day(const char* date) {
// 解析输入日期
struct tm parsed_date;
sscanf(date, "%d-%d-%d", &parsed_date.tm_mday, &parsed_date.tm_mon + 1, &parsed_date.tm_year - 1900); // 加1是因为tm_mon是从0开始计数的
// 设置前一天
parsed_date.tm_mday--;
// 创建动态内存以保存结果
char buffer[50];
strftime(buffer, sizeof(buffer), "%Y-%m-%d", &parsed_date);
return buffer;
}
int main() {
char input[] = "2023-04-10";
char* previous_day = get_previous_day(input);
printf("前一天的日期是:%s\n", previous_day);
free(previous_day); // 不忘记释放内存
return 0;
}
```
这个程序会打印"前一天的日期是:2023-04-09"。注意,这个例子假设输入日期格式始终为"YYYY-MM-DD"。在实际应用中,你可能需要添加更多的错误检查和格式验证。
阅读全文
相关推荐

















