为什么我这段代码中string中的字母数与输出的字母数不符
#include<stdio.h>
#include<string.h>
int main()
{
char string[40];
char a=getchar();
float b;
scanf("%s",string);
while(a!='\n')
{
if(a=='W')
{
b++;
}
a=getchar();
}
printf("%.2f %d",b/strlen(string),strlen(string));
}