2012-10-02 2 views
0

재귀 적으로 char []를 float 변수로 변환해야합니다. 내 코드는 다음과 같습니다 :sscanf float 숫자에 대한 반복 루프

while(1) 
{ 
    //take char[] str as input 
    sscanf(str,"%f",&n); 
    //printf n 
} 

이 프로그램은 양수로 잘 작동합니다. 그러나 처음에 음수를 다음에 양수로 입력하면 n이 다른 출력을 표시합니다.

답변

1

C로 작성된이 나를 위해 작동하는 것 같습니다. 출력측

char* str = "-9 1.1 2 3.1 0.9 .8 -2 -1.1"; 
float n; 
int offset; 
while (sscanf(str, "%f%n", &n, &offset) > 0) { 
    printf("%f,", n); 
    str += offset; 
} 

-9.000000,1.100000,2.000000,3.100000,0.900000,0.800000,-2.000000,-1.100000,