C语言中 e作为科学计数法的合法使用问题

课本上说

字母e或E之前必需有一个数字,且e或E后面的指数必须为整数.

可是课本上举例的时候又说.3e1是不合法的指数使用形式。
请问这里为什么不合法了?是因为.3不可以被解析为0.3吗?
谢谢。

阅读 39.5k
3 个回答

.3e1是合法的,但不是标准形式。
标准形式是e前面的部分为大于等于1但小于10的数,所以.3e1等价于3e0,后面一种是标准形式。

课本上的例子错了,或者你看错了。.3e1 是合法的,自己编译试一下就知道了。