多组数据while--scanf输入(C语言)

一、scanf()函数

1. scanf 函数是有返回值的,它的返回值可以分成三种情况

  1. 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b);
    如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量);
    如果用户输入"3,4",可以正确输入a,无法输入b,返回1(正确输入了一个变量)。
  2. 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入",3 4",返回0。
  3. EOF,这是在stdio.h里面定义的常量(通常值为-1),表示输入流已经结束。在Windows下,用户按下CTRL+Z(会看到一个^Z字符)再按下回车(可能需要重复2次),就表示输入结束;Linux/Unix下使用CTRL+D表示输入结束。

二、代码演示

<mark>写法一(返回值)</mark>

#include<stdio.h>
int main()
{
	int x,y;
	while(scanf("%d %d",&x,&y)!=-1)
	{
		printf("%d",x+y);
	}
	return 0;
}

<mark>写法二(EOF)</mark>

#include<stdio.h>
int main()
{
	int x,y;
	while(scanf("%d %d",&x,&y)!=EOF)
	{
		printf("%d",x+y);
	}
	return 0;
}

<mark>写法三(~)</mark>

#include<stdio.h>
int main()
{
	int x,y;
	while(~scanf("%d %d",&x,&y))
	{
		printf("%d",x+y);
	}
	return 0;
}

三、测试

<mark>结束时键入Ctrl+Z</mark>

全部评论

相关推荐

头像
2025-12-23 12:56
英特尔_Software_engineer
点赞 评论 收藏
分享
白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务