[C语言]多组输入的几种方法

1. 计数法

cpp 复制代码
#include <stdio.h>
int main()
{
	int n = 0;
	int i = 100;
	while (i--)
	{
		scanf("%d", &n);
		printf("%d\n", n);
	}
	return 0;
}

2.使用EOF标志处理多组输入

在C语言中,scanf函数返回成功读取的项目数。当遇到文件结束时,scanf返回EOF,表示没有更多的输入。(EOF是一个预定义的常量,等于-1。通过判断scanf的返回值否为EOF决定是否退出循环。)

cpp 复制代码
#include <stdio.h>
int main()
{
    int n;
    while (scanf("%d",&n) != EOF)
    {
        printf("%d\n", n);
    }
    return 0;
}

这种方法适用于处理包含字符和数字的多组输入‌。

3.使用EOF进行字符多组输入

在使用scanf读取数字时,回车键会被scanf消耗,因此在读取字符时需要使用getchar()来吸收回车符。

cpp 复制代码
int main()
{
    char n;
    while (scanf("%c",&n) != EOF)
    {
        getchar();
        printf("%c\n", n);
    }
    return 0;
}

这种方法适用于处理包含字符和数字的多组输入‌。

相关推荐
flying robot37 分钟前
js在浏览器执行原理
开发语言·javascript·ecmascript
dhxhsgrx4 小时前
PYTHON训练营DAY25
java·开发语言·python
风逸hhh6 小时前
python打卡day25@浙大疏锦行
开发语言·python
刚入门的大一新生6 小时前
C++初阶-string类的模拟实现与改进
开发语言·c++
chxii8 小时前
5java集合框架
java·开发语言
老衲有点帅8 小时前
C#多线程Thread
开发语言·c#
C++ 老炮儿的技术栈8 小时前
什么是函数重载?为什么 C 不支持函数重载,而 C++能支持函数重载?
c语言·开发语言·c++·qt·算法
inputA8 小时前
【LwIP源码学习6】UDP部分源码分析
c语言·stm32·单片机·嵌入式硬件·网络协议·学习·udp
IsPrisoner8 小时前
Go语言安装proto并且使用gRPC服务(2025最新WINDOWS系统)
开发语言·后端·golang