关于C语言中的多行输入
1.什么时候使用多行输出?
多行输入的应用场景:当我们在执行程序后,程序不退出,可以让我们继续输入数据,这时候我们就需要用到多行输入。
2.如何实现多行输入呢?
这个就和循环很相似,在输入变量的值后不退出程序,只有当我们输入错误的变量或者和我们预期输入的变量个数不匹配时,才会跳出循环。因此我们需要用到循环。
这里我们必须知道C语言中的scanf函数的返回值是一个整数,表示成功读取的变量个数。如果没有读取任何项,或者匹配失败,则返回 0 。如果在成功读取任何数据之前,发⽣了读取错误或者遇到读取到⽂件结尾,则返回常量 EOF(也就是-1)。
由上我们可以使用scanf的返回值作为循环的判断条件来进行多行输入 。
我们输入的变量个数等于我们需求的个数的时候,进入循环执行,执行完程序后继续执行循环,又要进行判断,这个时候又需要我们输入变量,从而实现多行输入 。
3.多行输入的格式
多行输入的个数有两种:
第一种:
举个栗子:
有多组输入数据,每一行输入两个整数,判断两个数的大小
第一种表示:用EOF判断
#include <stdio.h>
int main()
{
int a=0;
int b=0;
while(EOF!=scanf("%d %d",&a,&b))
{
if(a>b)
printf("%d>%dn",a,b);
else if (a==b)
printf("%d=%dn",a,b);
else if(a<b)
printf("%d<%dn",a,b);
}
return 0;
}
第二种表示:用输入的值的个数是否符合需求判断
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
while (2== scanf("%d %d", &a, &b))
{
if (a > b)
printf("%d>%dn", a, b);
else if (a == b)
printf("%d=%dn", a, b);
else if (a < b)
printf("%d<%dn", a, b);
}
return 0;
}
注意scanf左边的数字2不是固定的,是按照需要输入的变量个数决定的 。
程序运行结果如下:
以上是本次所有内容,谢谢各位观看 。