vault backup: 2025-01-07 18:14:44
This commit is contained in:
@ -0,0 +1,50 @@
|
||||
> **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);
|
||||
```
|
Reference in New Issue
Block a user