Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Teste de mesa Vetor


Dayvid Lean

Pergunta

Bom dia,

Estou com duvida nesse exercício:

#include <stdio.h>
main() {
int i;
char aux, x[6] = {“ABCDEF"};
for (i = 0; i < 5; i++) {
aux = x;
x = x[i + 1];
x[i + 1] = aux;
}
for (i = 0; i < 6; i++)
printf(“\n X = %c", x);
getch();
}
Encontrei como resposta:
x = B
x = C
x = D
x = E
x = F
X= F
Ao testar o teste no eclipse no ultimo printf ele diz que X= A, não entendi o por que dele receber esse valor pois no primeiro for para x[5] que é a ultima posição do vetor ele não foi modificado.
Agradeço a ajuda, espero que consigam entender minha duvida.
Editado por Dayvid Lean
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int i;
char aux; 
char x[] = "ABCDEF";
for (i = 0; i < 5; i++) {
aux = x[i];
x[i] = x[i + 1];
x[i + 1] = aux;
}
for (i = 0; i < 6; i++)
printf("\n X = %c\n\n", x[i]);

system("pause");
return 0;
}

Testa desta forma e posta o resultado se é isso mesmo.

Link para o comentário
Compartilhar em outros sites

  • 0

tenho que saber o que ele retorna como saída... qual resultado que ele mostra após execução...

o resultado que eu encontrei após executar o programa foi

x = B x = C x = D x = E x = F X= A
diferente do que fiz quando fiz o chinês dele no papel
x = B x = C x = D x = E x = F X= F
queria saber o porque do x = A?
Link para o comentário
Compartilhar em outros sites

  • 0

Em C a primeira posição começa em 0.

X = A Porque o i do 1º for recebe 0 que é a posição de A

Veja como resolvi esta questão

#include <stdio.h>
#include <stdlib.h>


int main(int argc, char *argv[]) {
int i;
char x[] = "ABCDEF";

//aqui o loop comeca na posicao 1 que e a posição de B
for (i = 1; i < 6; i++) {

printf("\n X = %c\n\n", x[i]);

}
//aqui o loop comeca na posicao 5 que e a posição de F
for (i = 5; i < 6; i++) {
printf("\n X = %c\n\n", x[i]);
}

system("pause");

return 0;
}
Editado por Barao
Link para o comentário
Compartilhar em outros sites

  • 0
Exatamente o valor da posição 0 do vetor estava percorrendo por todas as outras posições devido as linhas; aux = x; e x[i + 1] = aux;
eu não estava passando para ultima posição x[5] o valor da auxiliar. Conforme mostrou na execução do seu programa.
obrigado pelo esclarecimento. Resolvido
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...