逐层分析while((scanf("%d",&a))!=EOF)

网友投稿 900 2022-05-29

逐层分析while((scanf("%d",&a))!=EOF)

用这种循环的写法,可以解决一些需要循环到文件结束(也即文件不结束就循环)的问题。

我们先来看下这个句子,while((scanf("%d",&a))!=EOF)

逐层分析:

是我们熟悉的while循环的一部分,

while循环:while(表达式){循环体}中的while(表达式)

Ⅰ.scanf()函数语句

附:scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件(stdio.h)里,因此在使用scanf函数时要加上#include 。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。(参考:百度百科)

Ⅱ."!=“C语言中的运算符号,意为"不等于”。

Ⅲ.EOF,是一个计算机术语,全称为"End Of File",也就是文件结束符

附:在C语言在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以[字符]的[ASCII]代码值的形式存放。我们知道,[ASCII代码值]的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。(参考:百度百科)

题目难度适中,建议先尝试写一下,

题目:计算a+b

输入要求:输入包括两个正整数a,b(1<= a, b<= 10^9),输入数据包括多组。

输出要求:输出a+b的结果。

C语言:

#include int main() { int a,b,sum; while(scanf("%d%d",&a,&b) != EOF) { sum = a + b; printf("%d\n",sum); } return 0; }

运行测试:

逐层分析while((scanf("%d",&a))!=EOF)

2 3 5 10 20 30 ^Z -------------------------------- Process exited after 6.876 seconds with return value 0 请按任意键继续. . .

让此类循环结束,需要我们手动键入ctrl+z 再加enter结束(尝试了几款编程软件,dev-c++是适用的,其它编程软件可自行尝试)。

C 语言

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:VC中定时器的使用
下一篇:一文了解 JAVA 类加载机制
相关文章