Enunciado
Programação - Deitel &Deitel - Como programar em C- Ed: 6º - Capítulo 6.Exercícios - Ex. 13
Ache o(s) erro(s) em cada uma das seguintes instruções:
a) Considere: char str[ 5 ];
scanf( “%s”, str ); /* Usuário digita olá */
b) Considere: int a[ 3 ];
printf( “$d %d %d\n”, a[ 1 ], a[ 2 ], a[ 3 ] );
c) double f[ 3 ] = { 1.1, 10.01, 100.001, 1000.0001 };
d) Considere: double d[ 2 ][ 10 ]; d[ 1, 9 ] = 2.345;
Passo 1
Fala Galera!!! Mais um exercício para treinar e ficar craque em programação. Bora analisar cada alternativa.
Na letra a) nenhum erro encontrado, foi definido um array com 5 elementos e o usuário digitou o texto “olá”. Logo a instrução funciona corretamente.
Passo 2
Na letra b) contém um erro dentro do printf a forma como é especificado o primeiro parâmetro para imprimir o array está escrito errado. Está escrito “$d” e o correto seria “%d”.
Arrumando o erro fica da seguinte forma:
printf( “%d %d %d\n”, a[ 0 ], a[ 1 ], a[ 2 ] );
Passo 3
Na letra c) o número de valores atribuídos para o array é maior que a sua capacidade. Ou seja, o array possui tamanho 3 e a instrução está tentando atribuir 4 valores. Para corrigir é só eliminar um desses valores. Ficando:
double f[ 3 ] = { 1.1, 10.01, 100.01 };
Passo 4
Na letra d) a forma como está sendo especificados os elementos para receber o valor está errado. Para que os elementos [1] e [9] do array receba o valor a forma correta é:
d[ 1 ][ 9 ] = 2.345;
Prontinho Galera!!! Agora partiu para o próximo exercício!!!
Resposta
Ei, a resposta está no passo a passo :)