2.1.4 变量输入[关于scanf()]
如何让程序读取用户输入的数字
点击查看代码
#include <stdio.h>
int main()
{
int a=0;
int b =0;
scanf("%d %d",&a,&b);
printf("%d %d\n",a,b);
return 0;
}

格式字符串()里面所有东西都是他要读的东西,
%d表明程序要在这里读一个整数交给后面的某一个变量
如果是%f,表明程序要在这里读一个浮点数交给后面的某一个变量
,后面的是要输入的内容,必须得到那个东西才能够继续下去
如果程序两个%d中加一个,逗号,这一行修改为
点击查看代码
scanf("%d,%d,&a,&b);

输入1 2时,
第一个%d取到了值,取到输入的值1;第二个%d没取到,取为初始化值0。
输入1,2时,
两个%d都可以获取到输入的值

输入1,2
但是逗号成立中文,第二个%d也会出现取不到

也就是说,在多个%d之间存在符号,必须加符号进行输入才能获取到,如果是后面有空格,需要在输入一个字符(除空格以外的任意字符),才能结束输入,获取返回。
同理,末尾有其他字符,也需要输入字符,来满足字符输入校验,然后才能继续下去,但是这个字符不会读取到程序中去。
同理,首位有其他字符,也需要输入字符,来满足字符输入校验,然后才能继续下去,这个字符不会读取到程序中去。
不需要完全一致正确,但是需要输入字符,代表已经按要求输入,才能继续进行;但是如果需要取值正确,就需要按照内容正确输入。
如下图所示:







总结来说:scanf()的()中的东西都需要输入,输入完成后程序才可进行下一步。
浙公网安备 33010602011771号