关于C语言输入格式的问题

为什么“%d”的输入格式只能用空白字符,而“%f”的输入格式只能用逗号字符呢?

首先我要了解%d和%f,%d表示输入或输出十进制有符号数;%f表示输入或输出浮点数(float,四字节表示);在C语言中输出不同数据时需要用到不同的格式字符,%d是用来输出十进制整型数据的实际长度输出,%f是以小数形式输出单、双精度度数,而至于后面输入空格或者逗号,%d按整数的实际长度输出,应该是逗号和空格都行,而%f取值为小数,空格的取值是取整数部分,而小数部分可能是一位也可能是多位,系统无法识别,而逗号可以把这些数据定义整合,所以没有逗号无法识别