쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 15-1
1.
double power(int x, int y) {
double result = 1.0;
int i;
for (i = 0; i < y; i++) {
printf("result=%f\n", result);
result *= x;
}
return result;
}
(a)
#ifdef DEBUG
printf("result=%f\n", result);
#endif
(b)
#if DEBUG==2
printf("result=%f\n", result);
#endif
(c)
#if (DEBUG==2 && LEVEL==3)
printf("result=%f\n", result);
#endif
(d)
printf("%d: result=%f\n", __LINE__, result);
(e)
#if POWER_TYPE==0
int power(int x, int y) {
int result = 1.0;
# else
double power(int x, int y) {
double result = 1.0;
#endif
... #if POWER_TYPE == 0
printf("result=%d\n", result);
# else
printf("result=%f\n", result);
#endif
...
(f)
#if 0
printf("result=%f\n", result);
# else
2.
#include <stdio.h>
#define MIN(x,y) (x)<(y)?(x):(y)
#define GET_MIN(x,y,z) (MIN(x, y))<(z)?(MIN(x, y)):(z)
int main(void) {
int x, y, z, result;
printf("3개의 정수를 입력하시오: ");
scanf("%d %d %d", &x, &y, &z);
result = GET_MIN(x, y, z);
printf("최소값은 %d입니다. ", result);
return 0;
}
3.
#define ARRAY_INIT(array, size, value) {
int i;
for (i = 0; i < size; i++)\
array[i] = (value);
}
int main(void) {
int a[10];
ARRAY_INIT(a, 10, 0);
return 0;
}
4.
#include <stdio.h>
#define VOLUME(r, h) (3.141592*r*r*h)
int main(void) {
double r, h, volume;
printf("원기둥의 반지름을 입력하시오: ");
scanf("%lf", &r);
printf("원기둥의 높이를 입력하시오: ");
scanf("%lf", &h);
volume = VOLUME(r, h);
printf("원기둥의 부피: %f ", volume);
return 0;
}
댓글
댓글 쓰기