A = (float*)malloc(sizeof(float)*n);


for (i = 0; i < n; i++) {

scanf("%f", &index);

A[i] = index;

}


이렇게 실수들을 입력받고 싶은데 10개의 실수를 입력받는다고 할 때


매번 입력을 enter로 하나하나씩 입력을 받으면 제대로 입력이 됩니다...


그런데 1.1 4.5 2.3 7.5 0.7 5.6 8.4 3.6 5.5 10.7이런 식으로 공백을 주게 되면


양수들까지는 제대로 입력을 받습니다. 10개의 실수가 다 양수일 경우는 제대로 A에 저장이되는데


음수를 같이 받으면 위의 예같은 경우 1.1 4.5 2.3 2.3 2.3 2.3 2.3 이런 식으로 음수 바로 전 양수로 나머지 수들이 저장됩니다....


어떤 문제가 있는 건가요 ㅜㅜ구글링해도 답이 안나와서....


 답변 부탁드립니다..



코드 더 보여달라고하셔서 코드 덧붙입니다.

int n;   // list의 길이 (즉, list에 포함된 실수의 개수)

float *A;  // list ( 크기가 n인 동적 할당 요)

int subrange[2];   // 최대합 sublist의 시작 index와 끝 index


int i;// 필요한 변수 선언

float index;



scanf("%d", &n);


A = (float*)malloc(sizeof(float)*n);


for (i = 0; i < n; i++) {

scanf("%f", &index);

A[i] = index;

}


int j = 0;

for (j = 0; j < n; j++) {

printf("%.1f\n", A[j]);

}