double temp=11.5;isdigit(temp)是true还是false?

double temp=11.5;

isdigit(temp)  是true还是false?

xungeer29
浏览 2366回答 2
2回答

望远

isdigit函数有参数为double类型的重载吗?int isdigit(char c)-->检查参数是否为十进制数字字符

onemoo

应该是 falseisdigit 的参数是 int 类型,返回类型也是 int。 但其实这个函数是判断参数值所表示的字符是否为数字字符,所以它只在参数可以表示为字符的时候才能正常工作。 如果判断不是数字则返回 0。你这里实际传入的参数是 double 类型。但是没关系,实参传入形参时可以发生自动转型。那么形参实际接收到 int 值 11。 而 11 通常并不表示数字字符(比如在ASCII中就不表示为数字),所以会返回 0。如果问是否为 false 的话,那么 0 表示 false。
打开App,查看更多内容
随时随地看视频慕课网APP