나는 초보자이며 2 일 사이에 며칠을 계산하려고하는데 time.h에 대해 명확하게 이해하지 못하고 누군가 내 실수를 지적 할 수 있습니까? 인쇄 된 후 sec = 0이기 때문입니다. 고맙습니다.키보드에서 입력 한 2 날짜 사이의 일수 계산
#include <stdio.h>
#include <time.h>
main(){
double sec;
struct tm BD;
BD.tm_mday;
BD.tm_mon;
BD.tm_year;
struct tm KT;
KT.tm_mday;
KT.tm_mon;
KT.tm_year;
printf("Start date: ");
scanf("%d %d %d",&BD.tm_mday,&BD.tm_mon,&BD.tm_year);
printf("End date: ");
scanf("%d %d %d",&KT.tm_mday,&KT.tm_mon,&KT.tm_year);
sec = difftime(mktime(&KT),mktime(&BD));
printf("%f",sec);
// date= sec/86400 //
return 0;
}
C 또는 C++을 사용하고 있습니까? 질문은 C++로 태그 지정되었지만 이것은 곧은 C 코드입니다. 만약 당신이 C++로 이것을 배우고 있다면, 나는 C++ 교육을 위해 다른 곳을 볼 것을 제안 할 것이다. – NathanOliver
C++ 11 이상의 컴파일러에 액세스 할 수있는 경우 std :: chrono 네임 스페이스를 확인하십시오. http://en.cppreference.com/w/cpp/chrono – Ceros
@ NathanOliver 죄송합니다. C에게 편집. 내 실수를 보여줄 수 있니? 내 데이트 입력이 좋지 않은 것 같습니다. –