Escrever um programa para alocar uma área de memória para armazenar 3 valores float e 3 caracteres, preencher esta área com dados provenientes do teclado e, por último, apresentá-los do último até o primeiro, isto é, de maneira inversa àquela do armazenamento.
Pergunta
cerraosso
Tenho seguinte exercicio:
Escrever um programa para alocar uma área de memória para armazenar 3 valores float e 3 caracteres, preencher esta área com dados provenientes do teclado e, por último, apresentá-los do último até o primeiro, isto é, de maneira inversa àquela do armazenamento.
meu codigo:
int main(int argc, char *argv[]) { int i; int * ptr1; int * ptr2; ptr1 = malloc(3*sizeof(float)); ptr2 = malloc(3*sizeof(char)); if(ptr1 != NULL){ for(i=0;i<3;i++){ printf("digite valores float: "); scanf("%f",&ptr1[i]); *ptr1[i] = i; } } if(ptr2 != NULL){ for(i=0;i<3;i++){ printf("digite os caracteres: "); fflush(stdin); scanf("%c",&ptr2[i]); ptr1[i] = i; } } for(i=3;i>0;i--){ printf("Resultado %f",ptr1[i]); } system("PAUSE"); return 0; }Erro: Eu coloco 1.1,1.2 e 1.3 nos floats e a,b,c no caratecres, e na saida sai tudo zero, ex: 0.0 e os caracteres são letras estranhas.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.