我正在尝试扫描一个整数以查看其在程序中是否合法。但是,如果我输入的数字后跟一个字符,它仍会将其视为合法数字(我的猜测是,在将字符保存在缓冲区中时,它仅引用整数)。假设我只能使用scanf,而不能使用其他任何东西(因为这是我们精益求精的目的)。另外,如果我仅输入一个字符,它将自动将其转换为整数。到目前为止,这是我在这里所看到的尝试-
int number_of_numbers;
char number='\n';
printf("Enter size of input:");
if (scanf("%d%c",&number_of_numbers,&number)>=1 && number!='\n')
{
printf("Invalid size");
return 0;
}
当我仅扫描一个整数或一个整数后跟一个字符或一个字符时,如何识别? 谢谢!