8장 Exercise
1. ①
① 원형 정의 대신 함수 설명이 main()보다 먼저 나온다면 원형 정의를 하지 않아도 된다.
② 매개 변수가 없는 경우에는 그 자리를 void로 채운다.
2. ③
3. 전부
①, ② 자료형의 부재
③ 변수 이름의 부재
④ void는 한번만 쓴다
4. ①
5.
(a) 1.72 (abs는 정수를, fabs는 실수를 인수로 받아 절대값을 반환함) (b) 1 (c) 2
6.
(a) 0~9 (b) 2~6
7.
(a) y = log10(x) + e(x);
(b) y = sin(x) + sqrt(x*x-2*a) + pow(2, 10);
8.
(a) void print_error(int n)
(b) double larger_of(double x, double y)
(c) void side_effect(void)
9.
int f(void) -> return 10+20;
void g(int, int) -> return;
double h(double, int) -> return 1.0;
10.
int f(int n);
printf("%d", f(10));
return result;
11.
(a) y-> double y // 자료형의 부재
(b) (int) -> int
(c) (int) -> int
(d) radius, pi -> float radius, float pi // 자료형의 부재
12.
수정 전 |
수정 후 |
#include <stdio.h> int main(void) { int i, n, sum=0; printf("정수를 입력하시오: "); scanf("%d", &n); for(i=0; i<=n; i++) sum += i; printf("0부터 %d까지의 합은 %d입니다.\n", n, sum); return 0; } |
#include <stdio.h> int sum(int i); // 함수 원형정의 int main(void) { int i, n, sum=0; printf("정수를 입력하시오: "); scanf("%d", &n); sum = sum(i); // 함수 호출 printf("0부터 %d까지의 합은 %d입니다.\n", n, sum); return 0; } int sum(int i) //함수 정의 { for(i=0; i<=n; i++) sum += i; return sum; } |
13.
|
수정 전 |
수정 후 |
비고 |
a |
int half_of(int x); |
int half_of(int x) |
함수 정의 단계다 |
b |
print_message(3); |
print_message(); |
print_message 함수는 매개변수와 반환값이 없다. 3을 리턴하려하기 때문에 오류 발생 |
c |
double half_of(int); |
double half_of(double); |
자료형을 통일시킨다 |
d |
(-) |
return sum; |
반환형인데 return이 없다 |
e |
return x+y+z; |
(-) |
매개변수와 반환형이 없으므로 return 이 존재하면 오류 발생 |
'프로그래밍 > 쉽게 풀어쓴 C언어 Express' 카테고리의 다른 글
쉽게 풀어쓴 C언어 Express 9장 Summary (0) | 2018.10.19 |
---|---|
쉽게 풀어쓴 C언어 Express 8장 Programming (0) | 2018.10.05 |
쉽게 풀어쓴 C언어 Express 8장 Summary (0) | 2018.10.05 |
쉽게 풀어쓴 C언어 Express 7장 Programming (2) | 2018.09.28 |
쉽게 풀어쓴 C언어 Express 7장 Exercise (0) | 2018.09.28 |