C语言-多组输入

目录

前言

一.EOF判断

1.介绍

2.代码实例

二.与1判断

1.介绍

2.代码实例

三.按位取反符号“~”

1.介绍

2.代码实例


前言

在代码的实际运用中,我们经常会遇到需要多组输入的情况,下面就给大家讲解三种常见的多组输入的写法

一.EOF判断

1.介绍

  • EOF是End Of File的缩写,意为文件结束的标志。
  • EOF其对应的ASCII码值为-1。
  • scanf的返回值是成功读取的项数,所以不可能是-1,如此一来,也可以不断的进行while循环,实现多组输入了。想退出Ctrl+z一次或三次(根据编译器)。

2.代码实例

int main()
{
	int a = 0;
	while (scanf("%d", &a) != EOF)
	{
		printf("%d\n", a);
	}
	return 0;
}

二.与1判断

1.介绍

由于scanf函数的返回值是成功读取的项数,所以如果输入一个数字的话,可以直接和1判断,读取成功则进入循环,执行完毕后继续while的判断句,重新输入,如此一来便可以多组输入。想退出Ctrl+z一次或三次(根据编译器)。

2.代码实例

int main()
{
	int a = 0;
	while (scanf("%d", &a) == 1)
	{
		printf("%d\n", a);
	}
	return 0;
}

三.按位取反符号“~”

1.介绍

-1的二进制10000000000000000000000000000001
-1的补码11111111111111111111111111111111
-1按位取反00000000000000000000000000000000

而0为假,不进入循环。即scanf返回值为-1的时候,按位取反为0,直接结束循环。

2.代码实例

int main()
{
	int a = 0;
	while (~scanf("%d", &a))
	{
		printf("%d\n", a);
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值