함수선언관련 문제인데요!! 이해가 안가서 질문 올려요!
한샘가온
질문 제목 : 함수관련 문제입니다!함수선언을 안해도 에러가 안뜨는점질문 내용 :
#include stdio.h
int isleapyear(int year)
{
if (year%4 == 0 && year%400 == 0)
return 1;
else
return 0;
}
int getlast_day(int month, int year)
{
int last_day;
switch(month)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
last_day = 31; break;
case 4: case 6: case 9: case 11:
last_day = 30; break;
case 2:
if (isleapyear(year) == 1)
last_day = 29;
else
last_day = 28;
break;
}
return last_day;
}
void next_day(int year, int month, int day)
{
int last_day;
last_day = getlast_day(month, year);
if (day == last_day)
{
if (month == 12)
{
year++;
day = 1;
month = 1;
}
else
{
day = 1;
month++;
}
printf(next day : %d/ %d/ %d\n, year, month, day);
}
else if(day last_day)
{
day = last_day;
printf(error!!);
printf(\n%d/ %d last day %d\n, year, month, day);
}
else
{
day++;
printf(next day : %d/ %d/ %d\n, year, month, day);
}
}
int main(void)
{
int year, month, day;
//char exit;
printf(input year : );
scanf(%d, &year);
printf(input month : );
scanf(%d, &month);
printf(\ninput day : );
scanf(%d, &day);
next_day(year, month, day);
//printf(next day : %d/ %d/ %d\n, year, month, day);
return 0;
}
======================================================================================지식인에서 보고 올린 소스인데요...
위 소스를 보면 함수선언을 안했잖아요!
근데 왜 에러가 안뜨는지 궁금합니다..
그리고 오히려 함수선언을 해봤는데
에러가 뜨네요;;;;
-
캔서
와우!! 간단한 문제였군요! 감사합니다!! 고회장님!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
어서와
main문이 아래에 위치하고 위쪽에 함수들이 위치해 있으면 순차적으로 읽히기 때문에 위함수의 내용들은 main문에서는 알고 있는 내용들입니다.
만약 main이 상단에 위치 하게 되면 함수를 따로 빼야겠지요!!