答案如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b ;
while(scanf("%d%d",&a,&b)!=EOF)
printf("%d\n",a+b) ;
return 0;
}
遇到问题:
Presentation Error
错误代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b ;
while(scanf("%d%d",&a,&b)!=EOF)
printf("%d",a+b) ;
return 0;
}
出现这个错误是格式错误,与题目要求的格式不同。题目要求答案单独一行,但是没有控制格式输出,缺少“\n”,导致答案不是单独一行。修改后,accept。
其中用到的EOF,作为我这个菜鸟,初次自己接触,没有概念,以下是我百度到的资料:
档案存取或其它 I/O 功能可能传回等于象征符号值 (巨集) EOF 指示档案结束的情形发生。实际上 EOF 的值通常为 -1,但它依系统有所不同。巨集 EOF会在编译原始码前展开实际值给预处理器。
C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。
因为不太理解这句专业术语的意思,进一步我百度到:
这个语句在ACM中经常用到。
遇到 The input is ended up with the end of file,
就使用while(scanf("%d%d",&a,&b)!=EOF)这句话!
具体操作是ctrl+z 结束while循环。
明白了EOF如何结束,while(scanf("%d%d",&a,&b)!=EOF)的意思是当输入的值不为文件结尾,就继续循环,所以使用Ctrl+Z,来结束这个循环。