为什么不能运行不能识别输入值

img

What are you talking about ?

问题出在

int k=(int)sqrt(m);

sqrt(m)的值极有可能是double型(比如sqrt(3)),你却将之转换为int型。double的数据占据8个字节,而int型只占据4个字节,将double变量转换为int变量,那么double的4个字节存储的数据就会丢失,而剩下的数据是未知的。有可能是0,那么后面的代码就无法运行了,自然得不到想要的结果。