从C中的struct读取值
我试图从结构中读取一年来检查那一年是否是闰年。
我的代码目前是:
typedef struct { int day; int month; int year; } date;
阅读它的地方是:
int is_date_valid(date *d) { printf("Year = %d\n", d.year); //Checking if year is a leap year if ( d->year%400 == 0) printf("%d is a leap year.\n", d.year); else if ( d->year%100 == 0) printf("%d is not a leap year.\n", d.year); else if ( d->year%4 == 0 ) printf("%d is a leap year.\n", d.year); else printf("%d is not a leap year.\n", d.year); return 0; }
目前,年份未被读入(用户输入的年份和从主要调用此function)。 我不知道如何在这个函数中测试结构中的年份。 我真的很感激任何人都可以给予的帮助! 谢谢
方法1
int is_date_valid(date *d) { //access like d->year } main() { date d; // get input here is_date_valid(&d) }
方法2
int is_date_valid(int year) { // use year here } main() { date d; // get input here is_date_valid(d.year) }
注意:选项2仅在函数内使用年份时有效