notes/education/software development/ECE1400/Chapter 15 Exercises.md
2024-11-10 20:56:06 -07:00

1.3 KiB

1. Section 15.1 listed several advantages of dividing a program into multiple source files.(a). Describe several other advantages

(b). Describe some disadvantages


2. Which of the following should not be put in a header file? Why not?

b. Function definitions - Functions should only be defined once, and this allows multiple files to share the same function definition


3. We saw that writing #include <file> instead of #include "file" may not work if file is one that we've written. Would there be any problem with writing $include "file" instead of #include <file> if file is a system header?

Yes, "" is a path relative to the current file, whereas <> is a path to the system's standard library headers.


4. Assume that debug.h is a header file with the following contents... (a). What is the output when the program is executed?

Output if DEBUG is defined:
Value of i: 1
Value of j: 2
Value of i + j: 3
Value of 2 * i + j - k: 1

(b). What is the output if the #define directive is removed from testdebug.c?

Output if DEBUG is not defined:

(c). Explain why the output is different in parts (a) and (b)

When DEBUG is defined, any instances of the PRINT_DEBUG token are replaced with a printf call during compile time, but when it's not defined, they're replaced with nothing.