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.