Observe o código-fonte a seguir:
01 - int vet[10];
02 - int i;
03 -
04 - for(i=0;i<=10;i++){
05 - printf("Digite:\n");
06 - scanf("%d", &vet[i]);
07 - }
Com base no programa acima, avalie as afirmações:
I - Ao modificar o scanf() da linha 06 para scanf("%d", vet), poderíamos fazer a leitura do vetor sem o laço da linha 4.
II - Neste vetor, a primeira posição se encontra no índice igual a 0, e a última posição, índice igual a 9
III - O código-fonte irá tentar acessar uma posição que extrapola o limite superior do vetor.
Assim sendo, pode se dizer que é correto o que se afirma em:
Soluções para a tarefa
Respondido por
3
| - Não. Colocar o vet diretamente no scanf(), sem determinar um endereço de memória específico, vai fazer sempre o scanf() sobrescrever apenas o primeiro endereço do vetor (nota: o nome de um vetor é um ponteiro para o primeiro endereço de memória do vetor dele próprio. Então, se "vet" for um nome de um vetor, vet == &vet[0]).
|| - Certo. Um vetor sempre inicia na posição 0 e termina um número antes do declarado.
||| - Sim. Devido ao range especificado pelo laço for, ele vai extrapolar o vetor, chegando no item 10 do vetor vet, que é um item que não existe.
reiloubar:
a II, creio q esta incorreto, pois vai de 0 a 10. o i<=10, inclui o 10, deu 11 posições no vetor.
Perguntas interessantes
Matemática,
5 meses atrás
Artes,
5 meses atrás
História,
5 meses atrás
Informática,
6 meses atrás
Geografia,
11 meses atrás
História,
11 meses atrás