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]);
}
제 환경에선 음수도 잘 나오는데 코드를 좀더 보여주세요
코드 덧붙였습니다..float * A에다 malloc 해주고 거기다가 scanf해서 저장을 하는데 어느 부분이 잘못된 걸까요 ㅜㅜ
입력 다 받으신 다음에 중단점 거셔서 A안에 값이 제대로 들어갔는지 확인해 보시겠어요?
http://gall.dcinside.com/board/view/?id=programming&no=599112
머지 ㅜㅜ A = (float*)malloc(sizeof(float)*n);이 부분이 잘못된 걸까요... malloc 이렇게 쓰는게 아닌가요? 제 전체 코드 위에 있는거랑 똑같습니다... a안에 제대로 들어갔는지 확인해보는데 제대로 안들어가네요..
어.. 스페이스바로 입력했더니 되네요.. 전 여태까지 문제 예제를 긁어다가 붙여넣기로 넣었는데.. 붙여넣기를 하면 안되는건가요? 그냥 일일히 다 입력을 해야되는건가요?
답변해 주신분들 너무너무 고맙습니다..
아뇨 복사붙여넣기해도되는데 아마 님이 똑같다고 생각을해도 뭔가 잘못한부분이있을꺼에요
무시하는게아니라 저도 첨에 코드 똑같이쳤다고 생각하고 오류도안났는데 결과보면달라서 한글자한글자비교하면 틀린적 있음
넵 너무너무 감사합니다 다시한번 살펴볼게요!