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;
}

image

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

点击查看代码
scanf("%d,%d,&a,&b);

image

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

image

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

image

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

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

posted on 2026-10-13 16:09  Tobetop  阅读(2)  评论(0)    收藏  举报

导航