c프로그래밍 초보 매개변수, scaf 질문

double DivideReal(double);
int main(void) {
double n;

printf("값을 입력하세요. \n");
scanf("%lf", &n);
printf("실수 : %f \n", (double)n);

DivideReal(n);

return 0;

}

double DivideReal(double a) {

int n = 0;
double a = n - (int)n;
printf("정수부는 %d이고\n", (int)n);
printf("실수부는 %f이다.\n", (double)a);
return 0;

}

이렇게 코드를 짰는데 scanf는 반환값이 무시되었다하고
‘a’ 정식 매개 변수 재정의 오류가 뜹니다.
디버깅하면 정수부가 0이 나오고 "실수 : " 값은 출력되지도 않습니다
왜 이런 오류가 나는지, 어떻게하면 되는지 도와주세요!!

위에 코드 컴파일은 제대로 되나요…?

실수형 변수에 정수형 자료를 대입 할때

정수형 자료를 실수형 자료로 형변환 해줘야 하는데

형변환 문제로 출력이 안되는것 인것 같습니다.

변수 오류가 뜨는건 DivideReal 함수에서 같은 이름의 변수 정의를 두번하셨어요…

아래 코드로 테스트 해보세요.

#include <stdio.h>

double DivideReal();

int main() {
double n;
printf(“값을 입력하세요 : \n”);
scanf("%lf", &n);
DivideReal(n);
}

double DivideReal(double a) {
int n=0;
a=(double)n + a;
printf(“정수부는 %d 이고\n”,n);
printf(“실수는 %f\n”,a);
}