c语言scanf 如何判断仅能输入float类型,不能输入字符
时间: 2023-12-13 11:03:42 浏览: 83
可以使用scanf函数的返回值来判断是否成功读取到float类型的值。如果scanf函数返回值为1,表示成功读取到一个float类型的值;如果返回值为0,则表示输入的不是float类型的数据,可以提示用户重新输入。例如:
```
float num;
int ret;
do {
printf("请输入一个浮点数:");
ret = scanf("%f", &num);
while (getchar() != '\n'); // 清除输入缓冲区中的多余字符
} while (ret != 1);
```
在这个例子中,使用了一个do-while循环,如果scanf返回值不为1,则使用getchar函数清除输入缓冲区中的多余字符,然后重新提示用户输入,直到成功读取到一个float类型的值为止。
阅读全文