[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

RE: Scanf



Sebastian Krieger wrote (on Thursday, 16 Nov 2000, at 09:36:43 -0200):
 > Bom dia...
 > 
 > Estou com um pequeno problema com o scanf. Tenho o seguinte comando:
 > 
 >    for (i=0; i<3; i++) scanf("%d %lf %lf %lf %lf", &id[i], &x[i], &y[i],
 > &voo[i], &ang[i]);
 > 
 > Agora entrando com os seguintes dados:
 > 
 >   35 320.1 149.8 58.4 33.2
 >   11 110.2 97.9 181.4 21.3
 >   23 205.4 234.1 112.3 15.7
 > 
 > E pedindo para imprimir as variáveis obtenho:
 > 
 >   1080667340      320.1   149.8   58.4    33.2
 >   11      110.2   97.9    181.4   21.3
 >   3       205.4   234.1   112.3   15.7
 > 
 > Como isso é possível? 

Nao sei o que está ocorrendo.  Experimentei executar o
seguinte programa com seus dados:

============================================================
#include <stdio.h>

int main()
{
  int i, id[3];
  double x[3], y[3], voo[3], ang[3];

  for (i=0; i<3; i++)
    scanf("%d %lf %lf %lf %lf",
	  &id[i], &x[i], &y[i], &voo[i], &ang[i]);

  for (i=0; i<3; i++)
    printf("%d %g %g %g %g\n",
	  id[i], x[i], y[i], voo[i], ang[i]);

  return 0;
}
============================================================

Nada inesperado está acontecendo.  Você poderia dar mais
informacoes?  Boa sortet, Yoshi

 >                       Vemos que é somente o ID, ou seja, uma variável int.
 > Isso somente ocorre na primeira e última linha, em id[0] e id[2], mesmo
 > invertendo a ordem de entrada dos dados.
 > 
 > []'s
 > Sebastian