notes/education/software development/ECE1400/Chapter 14 Exercises.md
2024-11-05 11:43:30 -07:00

50 lines
1002 B
Markdown

> **12.** Suppose that the macro `M` has been defined as follows:
```c
#define M 10
```
> Which of the following tests will fail?
```c
// C will fail, because `M` is defined.
#ifndef M
// E will fail, because `M` is defined
#if !defined(M)
```
---
> **13.** Show what the following program will look like after preprocessing. You may ignore any lines added to the program as a result of including the `<stdio.h>` header.
```c
#include <stdio.h>
int main(void)
{
f();
}
void f(void) {
printf("N is %d\n", 100);
}
```
---
> **15.** Suppose that a program needs to display messages in either English, French, or Spanish. Using conditional compilation, write a program fragment that displays one of the following three messages, depending on whether or not the specified macro is defined.
```c
#ifdef ENGLISH
#define MESSAGE "Insert Disk 1"
#endif
#ifdef FRENCH
#define MESSAGE "Inserez Le Disque 1"
#endif
#ifdef SPANISH
#define MESSAGE "Inserte El Disco 1"
#endif
printf(MESSAGE);
```