함수를 호출해서 사용하는데 출력할때 쓰레기값이 들어가있어요 ㅠㅠ
유우
2023.04.01
질문 제목 : 함수를 호출해서 사용하는데 출력할때 쓰레기값이 들어가있어요 ㅠㅠ윤년인지 검사해서 1년이 365일인지 366일인지 검사하는 프로그램인데 출력할때 년도에 쓰레기값이 나오네요 ㅠㅠ질문 내용 :
#include stdio.h
int is_leap(int year)
{
int sum;
sum=(year%4==0) && (year%100!=0) || year%400==0;
return sum;
}
int main(void)
{
int m_year;
printf(연도를 입력하시오 :);
scanf(%d,&m_year);
if(is_leap(m_year)==1)
printf(%d년은 366일입니다.,&m_year);
else
printf(%d년은 365일입니다.,&m_year);
return 0;
}
마지막에 if문에서 is_leap을 호출해서 참이면 366을 출력하고 거짓이면 365일을 출력하는데 출력할때 %d년에 입력한값이 안나오고 쓰레기값이 들어가있어요 왜이럴까요 ㅠㅠ
-
아유미
뭐 이런경우 의외로 자주봅니다만 ㅋㅋㅋ
반대경우도 있죠. scanf에 주소값을 안주고 변수자체를 준다던지.. -
달님
ㅋㅋㅋㅋ 이런 실수를 하다니 ㅋㅋㅋㅋㅋ 감사합니다 민망해라..
-
희1미햬
네 ㅎㅎ 이런실수 저도 많이 했었는데...
pritnf()함수의 포매팅 인자를 주소값으로 주고있네요.
if(is_leap(m_year) == 1)
printf(\%d년은 366일입니다.\