【发布时间】:2016-03-27 12:02:12
【问题描述】:
我有一个问题,我需要在一行中扫描两个整数除以一个空格,所以代码看起来像这样:
scanf("%d %d",&integer1,&integer2);
在这段代码中,我需要检查是否扫描了两个整数。有人能帮我吗? 提前谢谢你
【问题讨论】:
-
阅读
scanf的手册页。它返回成功扫描元素的数量。
我有一个问题,我需要在一行中扫描两个整数除以一个空格,所以代码看起来像这样:
scanf("%d %d",&integer1,&integer2);
在这段代码中,我需要检查是否扫描了两个整数。有人能帮我吗? 提前谢谢你
【问题讨论】:
scanf的手册页。它返回成功扫描元素的数量。
默认scanf() 读取空格,给空格没有意义。如果你想读取两个整数 scanf("%d %d",&integer1,&integer2); 和 scanf("%d%d",&integer1,&integer2); 两者都会帮助你。
它将接受以下输入:
1 2
12 22
3 2 5 //EOF
您的程序只有在读取两个整数后才能通过。您无需检查任何内容。
消除EOF
默认情况下scanf 返回读取的值的数量,因此请使用它。
if(scanf("%d%d",&integer1,&integer2) != 2)
{
//if more than two values are entered
//perform some error handling
}
【讨论】: