问题描述
- 最后的结果2是在输入两个1后得出的,为什么等我再输入两个数据(2)在按回车后才出现结果,EOF?
-
#include
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
printf("%dn",a+b);
}
解决方案
scanf()函数返回的值为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。
也就是说正常不应该返回 EOF ,即 -1 的。
由于是一个 while 循环,是否可以认为回车换行符被错误的输入而导致错误出现!所以,建议 你将 a 和 b 的数值输出看看。
解决方案二:
#include<stdio.h>
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)==2) //2个数字,正常参数
{
printf("%dn",a+b);
}
}
你可以这么写
时间: 2024-10-04 12:56:54