有人可以帮助我理解为什么第一个输入为'K'时scanf不会要求我提交第二个输入吗?
int n=0;
scanf("%d",&n);
scanf("%d",&n);
就像它从其他地方得到输入!在这种情况下,n的值是多少?
如果检查scanf()
返回值,则显示为0
#include <stdio.h>
int main(int argc, char **argv)
{
int n=0;
int retvalue=0;
retvalue = scanf("%d",&n);
printf("first scanf() return: %d\n", retvalue);
retvalue = scanf("%d", &n);
printf("seconf scanf() return: %d\n", retvalue);
return 0;
}
[opengroup网站上的scanf()文档
这些函数应返回成功匹配的数量,分配的输入项; 如果提前匹配失败。
输入字符值,并且scanf()
功能设置为mach /接受"%d"
(十进制数)时,它失败。