Linguagem C 25.ª Edição Atualizada e Aumentada FCA Editora (c) 2025
6
EXERCÍCIOS PROPOSTOS – SOLUÇÃO 6.1 6.1.1
Os índices do array variam entre 0 e 9, e não entre 1 e 10.
6.1.2
Depois de terminado o ciclo, o valor de i é 10, logo v[10] = 101, o que vai causar problemas, pois o array termina no índice 9.
6.1.3
A dimensão de um array não pode ser negativa.
6.1.4
A declaração de um array obriga a que todas as dimensões sejam explicitadas (erro de compilação). Não se podem declarar arrays sem dimensão. Se o programador não sabe que dimensão usar para um array, como poderá um simples computador saber?
6.1.5
O número de elementos que está a realizar a inicialização do array é superior à dimensão do array.
6.1.6
Se colocar um ponto e vírgula a seguir ao #define, todas as ocorrências de MAX serão substituídas por 30; (ponto e vírgula incluído), o que irá provocar erros de sintaxe. Exemplo: int v[30;]; . Experimente executar o comando cc -E nome-do-prog.c para ver o resultado do pré-processamento do ficheiro.
6.2 1: #include <stdio.h> 2: 3: float max(float v[ ], int n) 4: { 5: float maior = v[0]; 6: for (int i=1; i<n; i++) 7: if (v[i]>maior) 8: maior = v[i]; 9: return maior; 10: } 11: 12: int main(void) 13: { 14: float x[] = {10.0, 20.0, 15.0, -50.0, 27.0}; 15: 16: printf("O maior dos 3 primeiros elementos = %f\n", max(x, 3)); 17: printf("O maior dos 5 primeiros elementos = %f\n", max(x, 5)); 18: 19: return 0; 20: }
PROG0611.C
6.3 1: #include<stdio.h> 2: #include<stdlib.h> 3: #include<locale.h> 4:
© FCA
1