我如何确定我得到的是双倍而不是其他?
int main() {
int flagOk = 0;
double number;
while(!flagOk) {
printf("Put in a double");
scanf("%lf", &number);
if(number == "%lf"); //this want make sure
flagOk = 1;
}
}
最佳答案
检查 scanf()
的返回值;它会告诉您有多少次转化成功。
上下文中,如果转换失败,则得到0;如果成功,您将获得 1。
需要考虑错误恢复。我通常发现使用 fgets()
(和 never gets()!)读取一行数据然后使用 sscanf()
处理它更容易。如果转换失败,很容易丢弃错误数据。
关于c - 如何确保输入是 C 编程语言中的 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681873/