Escreva uma diretiva do pré-processador que propicie a realização das tarefas a seguir:
a) Definir a constante simbólica YES para ter o valor 1 .
b) Definir a constante simbólica NO para ter o valor 0 .
c) Incluir o arquivo de cabeçalho common.h . O arquivo está no mesmo diretório do arquivo compilado.
d) Renumerar as linhas restantes no arquivo começando com o número de linha 3000 .
e) Se a constante simbólica TRUE estiver definida, anular sua definição e redefini-la como 1 . Não use #ifdef .
f) Se a constante simbólica TRUE estiver definida, anular sua definição e redefini-la como 1 . Use a diretiva #ifdef do pré-processador.
g) Se a constante simbólica TRUE não for igual a 0 , definir a constante simbólica FALSE como 0 . Caso contrário, definir FALSE como 1 .
h) Definir a macro VOLUME_CUBO , que calcula o volume de um cubo. A macro utiliza apenas um argumento.
Passo 1
Fala galera, tudo tranquilo? Este exercício nos pede apenas para que a gente escreva diretivas que atendam aos itens a seguir.
a) Usando #define
#define YES 1
b) #define NO 0
c) Para incluir arquivo, já é de nosso conhecimento bem usual, mas um arquivo no mesmo diretório, você faz:#include ”common.h”
d) Para numerar linhas, usa-se #line, então:#line 3000
e) #if define(TRUE)
#undef TRUE
#define TRUE 1
#endif
f)Para anular uma definição, usa-se “#undef”, portanto:
#ifdef TRUE
#undef TRUE 1
#define TRUE 1
#endif
g) Aqui ele nos pede um definição da constante:
#if TRUE
#define FALSE 0
#else FALSE 1
#endif
h) para o volume de um cubo podemos escrever:
#define VOLUME_CUBO(x) ((x) * (x) * (x))
É isso galera, espero ter ajudado e vamos para mais um exercício. Valeu!
Resposta
a) #define YES 1
b) #define NO 0
c) #include ”common.h”
d) #line 3000
e) #if define(TRUE)
#undef TRUE
#define TRUE 1
#endif
f) #ifdef TRUE
#undef TRUE 1
#define TRUE 1
#endif
g) #if TRUE
#define FALSE 0
#else FALSE 1
#endif
h) #define VOLUME_CUBO(x) ((x) * (x) * (x))