우띠-_-^;; 이단순코드가 제대로안되요 흑 매크로관련
소심한녀자
2023.04.01
#includestdio.h
#define PI 3.1415
#define circle_area(r) (r*r*PI)
int main(void)
{
double r;
printf(원의 반지름을 입력하세요 : );
scanf(%f, &r);
printf(원의 넓이는 %f입니다., circle_area(r) );
return 0;
}
단순한 매크로 사용법 배우기위한 코드인데
이게 제대로안되네요
이유가멀까여 ㄷㄷ
-
다와
아항 감사합니다
-
처녀자리
선언한 바이트를 받아들이기 위한 공간이 부족해서 그런현상이 발생 하지요..!!
f = flaot , double = lf -
강남맨
printf에서는 상관이 없지만, scanf에서는 %lf 와 %f 구분을 해주셔야됩니다. double형 변수를 scanf를 통해 받을 경우에는 %lf를 사용해주셔야됩니다. float형 변수의 경우에는 그냥 %f를 사용하고요. printf 에서는 %lf나 %f나 상관은 없지만 주로 %f를 쓰는걸로 알고있습니다.
-
2gether
아 %f랑 %lf랑 무슨차이인건가요 ;
-
바름
scanf에서 %f가 아니라 %lf로 하세요. 아니면 double을 float 로 바꾸시던지.