Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Teste de mesa Vetor


Dayvid Lean
 Share

Question

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.
Edited by Dayvid Lean
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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;
}
Edited by Barao
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647.1k
×
×
  • Create New...