Mmmh, when I let it run on my PC, it does indeed work. But since it's designed to run on an Atmel Chip, I have to cross-compile and there seems to be something going wrong with scanf and sscanf.
Oh, well, nevermind, it will work with atof just as well. At least I'm happy that I seem to be able to write code that actually works ;)
Are you sure the atmel cross compiler allows float/double functions at all? Check the atmel compiler spec for scanf() etc.
Or perhaps you need to use libraries in a different manner - e.g. supply a floating point version of the library FIRST, before the general C library, so that the linker picks the floating point capable version of scanf/printf instread of the one in the "integer only" version of those functions?
It is not unusual that small embedded processors have no/little support for floating point. Or that there are a special "floating point support" version of the libraries to reduce the code size when no floating point is being used.