formatted input with scanf..

#include<stdio.h>
#include<stdlib.h>
int main()
{
float balance,deduction;
int withdrawl;
scanf("%d %4.2f",&withdrawl,&balance);
printf("%4.2f",balance);
return 0;
}
input
30 120.00
output
0.000000
it seems as if scanf is not reading the value of balance in the specified format.
why is it so?