0
,一端的输入的scanf当用户按下例如我要求用户输入的两个输入输入
int x,y;
scanf("%d %d",&x,&y);
我需要的情况下,如果用户只输入一个输入,然后按回车键(\ n)的 该程序必须说缺少输入号码
有什么建议吗?
,一端的输入的scanf当用户按下例如我要求用户输入的两个输入输入
int x,y;
scanf("%d %d",&x,&y);
我需要的情况下,如果用户只输入一个输入,然后按回车键(\ n)的 该程序必须说缺少输入号码
有什么建议吗?
你不能用你现有的代码来做到这一点,其中一个scanf语句被用来提供两个值。可以尝试这样的事情:
void main(){
int a;char b;
printf("Enter two values\n");
scanf("%d",&a);
top:
scanf("%c",&b);
if(b=='\n'){
printf("Missing value\n");
goto top;
}
printf("I got all values");
}
使用'fgets()'而不是'scanf()'。 – chux
你不能单独使用'scanf'来做这件事。 (事实证明,有很多事情你不能用'scanf'来做。)你想做什么 - 这是一个更多的工作,但是在无限更好的灵活性和错误捕捉能力方面付出*很大的努力 - 使用'fscanf'等将一行文本*读为*一行文本,然后检查该行或将其分解为字段或以某种方式解析它。有时候,'sscanf'是解析线条的一种体面的方式。另见http://stackoverflow.com/questions/36921431/c-fscanf-input-validation。 –