6.11. Indique quais os erros de programação ou de compilação que os seguintes trechos apresentam:
1.1
/*
*Copyright: Asneira Suprema Software!!!
*/
#include
Main ()
{int v[10], i;
For (i=1; i
V[i] = 0;
}
1.2
/*
*Copyright: Asneira Suprema Software!!!
*/
#include
Main ()
{int v[10], i;
For (i=1; i
V[
V[i] = 101;
}
Passo 1
Vamos resolver os problemas da ‘Asneira Suprema’!
Na 1.1 a gente tem um for rodando de até , mas acontece que os índices do vetor não começam em , começam em , portanto deveríamos rodar o for de até .
Passo 2
Agora vamos para 1.2.
Aqui o laço vai rodando começando do , mas acontece que quando o laço termina o valor de é , então quando chegarmos na linha
Na verdade estamos fazendo
Mas o vetor foi definido para ir do índice até , não está definido, e aí está o problema.
Passo 3
Vamos para 1.3. Aqui a gente tá usando a variável i para muitas coisas. O vetor é definido tendo o tamanho i, mas ao decorrer do programa essa variável vai mudando de valor, mas o vetor tem tamanho constante, então temos aí nosso erro, estamos tentando mudar o tamanho do vetor no meio do programa.
Passo 4
Estamos na 1.4. C é uma linguagem que pede que você deixe tudo muito claro, se você não deixar tudo perfeitamente claro vai dar erro na compilação, que é o caso desse problema. Aqui não definiram o tamanho do vetor, então o compilador se perdeu.
Passo 5
Agora é a vez da 1.5. Aqui definiram certinho o tamanho do vetor, mais aí colocaram mais elementos do que o vetor suporta. O vetor tem tamanho , mas definiram elementos para ele, então vai dar erro na compilação.
Passo 6
Finalmente estamos na 1.6, só falta essa.
Aqui o erro é mais sútil. Quando a gente escreve
Estamos definindo que é , mas quando fazermos
Estamos definindo que é , com o ponto e vírgula. Então temos um erro de sintaxe, porque tecnicamente escreveram
E não é assim que definimos um vetor.
Resposta
1.1
Os índices não conferem com o vetor.
1.2
Existe um índice maior do que o tamanho do vetor sendo usado.
1.3
A dimensão do vetor não é constante.
1.4
A declaração do vetor está errada.
1.5
Os elementos do vetor superam seu tamanho.
11.6
Tem um erro de sintaxe. O vetor é declarado como