我的问题是,当我要求用户给我一个数字时,用户一次可以写多个数字(16548,5484等),所以我的程序会保存这些输入,并在下次需要时使用 scanf 它会自动读取用户编写的下一个(在我的第一个示例中它将是“6”)。我不希望这样,我希望用户只能写一个字符,或者如果有办法删除这些额外的字符,这样它只会读取第一个字符,这也可以解决我的问题。
最佳答案
您可以尝试 int 或 float 值,结果将相同,您应该进行舍入
#include<stdio.h>
#include<math.h>
void main()
{
float v;
printf("Enter a number : ");
scanf("%f",&v);
while(1)
{
if(v<10.0)
{
printf("%.f",floor(v));
break;
}
else
{
v = v / 10.0;
}
}
}
关于c - C语言中如何让scanf一次只读取一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52429656/