Datei: p6-3.c
1 /* 2 * p6-3.c 3 * Beispielprogramm 3, Abschnitt 6 4 * Zeichenkette nach double wandeln 5 */ 6 7 double atof(char s[]) 8 { 9 double val, power; 10 int i, sign; 11 12 /* Zwischenraeume uebergehen */ 13 for (i = 0; s[i] == ' ' || s[i] == '\n' || s[i] == '\t`; i++) 14 ; 15 sign = 1; 16 if (s[i] == '+' || s[i] == '-') /* Vorzeichen */ 17 sign = (s[i++] == '+') ? 1 : -1; 18 for (val = 0; s[i] >= '0' && s[i] <= '9'; i++) 19 val = 10 * val + s[i] - '0'; 20 if s[i] == '.') 21 i++; 22 for (power = 1, s[i] >= '0' && s[i] <= '9'; i++) { 23 val = 10 * val + s[i] - '0'; 24 power *= 10; 25 } 26 return (sign * val / power); 27 28 } /* atof() */
Erzeugt von c2html 1.01 |